pta 字符串排序(C语言实现)

题目描述

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

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

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

After sorted:
每行一个字符串

解题思路

按照IPO方法,根据题意进行输入和输出,主要实现排序操作,由小到大的顺序输出,利用字符串函数就OK~
strcmp(s, t) 的值等于0,表明这两个字符串相等;大于0,表明s大于t;小于0,表明s小于t。注意这里哦!

实现代码

#include 
#include 
int main()
{
    // input
    char s[5][80];
    for (int i=0; i<5; i++)
        scanf("%s", s[i]);
    // process
    char tmp[80];
    // 排序操作
    for (int i=0; i<4; i++){
        for (int j=i+1; j<5; j++){
            if (strcmp(s[i], s[j]) > 0){
                strcpy(tmp, s[i]);
                strcpy(s[i], s[j]);
                strcpy(s[j], tmp);
            }
        }
    }
    // output
    printf("After sorted:\n");
    for (int i=0; i<5; i++)
        printf("%s\n", s[i]);
    return 0;
}

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