题目:
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。
输入格式:
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。
输出格式:
按照以下格式输出排序后的结果:
After sorted:
每行一个字符串
输入样例:
red yellow blue black white
输出样例:
After sorted:
black
blue
red
white
yellow
解:
#include<stdio.h>
#include<string.h>
int main(){char s[5][100];int i,j;char temp[100];for(i=0;i<5;i++){scanf("%s",s[i]);}// 选择排序法对字符串进行排序for(i=0;i<5;i++){for(j=i+1;j<5;j++){if(strcmp(s[i],s[j])>0){//strcmp()如果第一个字符串大于第二个字符串则返回一个正数strcpy(temp,s[i]);//strcpy()将第二个字符串的内容复制到第一个字符串strcpy(s[i],s[j]);strcpy(s[j],temp);}}}printf("After sorted:\n");for(i=0;i<5;i++){printf("%s\n",s[i]);}return 0;
}