1 条题解

  • 0
    @ 2025-4-7 21:29:26

    C :

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    void show(char *a[3])
    {
    	for(int i = 0; i < 3; i++)
    		printf("%s\n", a[i]);
    }
    void sort(char **a)
    {
        for(int i = 0; i < 2; i++)
            for(int j = 0; j < 2-i; j++)
            {
                if(strcmp(a[j], a[j+1]) > 0)
                {
                    char *c = a[j];
                    a[j] = a[j+1];
                    a[j+1] = c;
                }
            }
    }
    int main(void)
    {
        char *a[3];   
        for(int i = 0; i != 3; i++)
        {
            a[i] = (char*)malloc(sizeof(char)*100);
    		scanf("%s", a[i]);
        }
    	sort(a);
    	show(a);
        return 0;
    }
    
    
    

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    void swap(char *p,char *q)
    {
    	char str[50];
    	strcpy(str,p);
    	strcpy(p,q);
    	strcpy(q,str);
    }
    int main()
    {
    	char s1[50],s2[50],s3[50];
    	char *p1=s1,*p2=s2,*p3=s3;
    	gets(p1); gets(p2); gets(p3);
    	if (strcmp(p1,p2)>0) swap(p1,p2);
    	if (strcmp(p1,p3)>0) swap(p1,p3);
    	if (strcmp(p2,p3)>0) swap(p2,p3);
    	printf("%s\n%s\n%s\n",p1,p2,p3);
    	return 0;
    }
    
    • 1

    C语言程序设计教程(第三版)课后习题10.2

    信息

    ID
    1528
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者