排序名单

排序名单_#include
排序名单_技术_02

代码
#include <stdio.h>
#include <string.h>
void swapstring(char i[][20],char j[][20])
{
    char temp[20];
    strcpy(temp,*i);
    strcpy(*i,*j);
    strcpy(*j,temp);
}
int cmp(char str1[20],char str2[20])
{
    int len=strlen(str1)<strlen(str2)?strlen(str1):strlen(str2);
    for(int i=0;i<len;i++)
        if(str1[i]>str2[i])
            return 1;
        else if(str1[i]<str2[i])
            return 0;
        else 
            continue;
    return strlen(str1)>strlen(str2)?1:0;
}
int main()
{
    char strings[10][20];
    for(int i=0;i<10;i++)
        scanf("%s",strings[i]);
    for(int i=0;i<10;i++)
        for(int j=0;j<10-i-1;j++)
            if(cmp(strings[j],strings[j+1]))
                swapstring(&strings[j],&strings[j+1]);
    for(int i=0;i<10;i++)
        printf("%s\n",strings[i]);
}