C语言,输入5个字符串,按由小到大的顺序输出。非常急,求指导!
/*输入5个字符串,按由小到大的顺序输出。*/#include<stdio.h>#include<string.h>intmain(void){inti,j;chara[...
/*输入5个字符串,按由小到大的顺序输出。*/
#include<stdio.h>
#include<string.h>
int main(void){
int i,j;
char a[5][20], t[5];
printf("Enter 5 strings:\n");
for (i = 0; i < 5; i++){
scanf_s("%s",a[i]);
}
for (i = 1; i < 5; i++){
for (j =0; j < 5-i ;j++)
if (strcmp(a[j], a[j+1]) > 0){
strcpy_s(t,20,a[j]);
strcpy_s(a[j],20, a[j + 1]);
strcpy_s(a[j + 1],20, t);
}
}
printf("After sorted:\n");
for (i = 0; i < 5; i++)//<----------------------------不懂的地方在这里!整个程序编译完后都显示没问题,
puts(a[i]); 但是最后的结果就是输出不了,每次输出显示都只有5个
return 0; 换行符,根本没有字符串,这是为什么?求指教!
} 展开
#include<stdio.h>
#include<string.h>
int main(void){
int i,j;
char a[5][20], t[5];
printf("Enter 5 strings:\n");
for (i = 0; i < 5; i++){
scanf_s("%s",a[i]);
}
for (i = 1; i < 5; i++){
for (j =0; j < 5-i ;j++)
if (strcmp(a[j], a[j+1]) > 0){
strcpy_s(t,20,a[j]);
strcpy_s(a[j],20, a[j + 1]);
strcpy_s(a[j + 1],20, t);
}
}
printf("After sorted:\n");
for (i = 0; i < 5; i++)//<----------------------------不懂的地方在这里!整个程序编译完后都显示没问题,
puts(a[i]); 但是最后的结果就是输出不了,每次输出显示都只有5个
return 0; 换行符,根本没有字符串,这是为什么?求指教!
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询