由小到大输出字符串,但结果是倒着输出???
我想写一个程序,比如输出 aaa ccc bbb(实际分三行)然后用strcmp比较后按由小到大的顺序输出,也就是aaa bbb ccc(实际分三行),但结果是到这输出,就是 bbb ccc aaa 这是怎么回事///程序代码:
#include<stdio.h> #include<string.h> int main() { int num; char a[20][20],b[20]; printf("How many strings do you want to enter\n"); scanf("%d",&num); printf("please enter %d strings\n",num); for(int i=0;i<num;i++) scanf("%s",a[i]); for(int i=0;i<=num-2;i++) for(int j=0;j<=num-i-2;j++) { if(strcmp(a[j],a[j+1])) { strcpy(b,a[j]);strcpy(a[j],a[j+1]);strcpy(a[j+1],b); } else ; } printf("由小到大:\n"); for(int i=0;i<num;i++) printf("%s\n",a[i]); }