习题8-7 字符串排序 (20分)

本题要求编写程序,读入5个字符串,按由小到大的顺序输出。

输入格式:

输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。

输出格式:

按照以下格式输出排序后的结果:

After sorted:
每行一个字符串

输入样例:

red yellow blue green white

输出样例:

After sorted:
blue
green
red
white
yellow

#include
#include
#define LIM 5
#define SIZE 81

int main(void)
{
    char array[LIM][SIZE]={
        "0"
    }; 
    char ch; 
    //输入
    for(int i=0;i<LIM;i++)
    {   
        for(int j=0;(ch=getchar())!=' ';j++)
        {
            if(ch=='\n')
                break;
            array[i][j]=ch;
        }
    }   
    char temp[SIZE];
    //排序
    for(int i=0;i<LIM-1;i++)
    {   
        for(int j=i+1;j<LIM;j++)
        {
            if(strcmp(array[i],array[j])>0)//如果位置不正确就交换位置
            {
                strcpy(temp,array[i]);
                strcpy(array[i],array[j]);
                strcpy(array[j],temp);
            }
        }
    }   
    printf("After sorted:\n");
    for(int i=0;i<LIM;i++)
    {   
        printf("%s\n",array[i]);
    }   

    return 0;
}

你可能感兴趣的:(PTA,c语言)