题目
代码
```
#include<stdio.h>
#include<string.h>
#define MAXN 80
int main()
{
int i,j;
char item[MAXN];
char c[MAXN];
char ch[5][MAXN];
for(i=0;i<5;i++){
scanf("%s",c);
j=0;
while(c[j]!=' '&&c[j]!='\n'){
ch[i][j]=c[j];
j++;
}
}for(i=1;i<5;i++){
for(j=0;j<i;j++){
if(strcmp(ch[i],ch[j])<0){
strcpy(item,ch[i]);
strcpy(ch[i],ch[j]);
strcpy(ch[j],item);
}
}
}printf("After sorted:\n");
for(i=0;i<5;i++){
printf("%s\n",ch[i]);
}return 0;
}
```c
测试点
供参考:
#include<stdio.h>
#include<string.h>
#define MAXN 80
int main()
{
int i,j;
char item[MAXN];
char c[MAXN];
char ch[5][MAXN];
for(i=0;i<5;i++){
scanf("%s",ch[i]);
//scanf("%s",c);
//j=0;
//while(c[j]!=' '&&c[j]!='\n'){
// ch[i][j]=c[j];
// j++;
//}
}
for(i=0;i<5-1;i++){ //for(i=1;i<5;i++){
for(j=0;j<5-i-1;j++){ //for(j=0;j<i;j++){
if(strcmp(ch[j],ch[j+1])>0){ //strcmp(ch[j],ch[j+1])<0
strcpy(item,ch[j]);
strcpy(ch[j],ch[j+1]);
strcpy(ch[j+1],item);
}
}
}
printf("After sorted:\n");
for(i=0;i<5;i++){
printf("%c%s",i==0?'\r':'\n',ch[i]);//修改
}
return 0;
}
c字符串怎么会循环%s输入呢
要么循环%c输入,要么不用循环,%s输入字符串就行了