假定
字符串个数不超过20个,每个字符串长度小于20,开数组 char s[21][20];
最后一个元素 用于做字符串交换时的工作单元。
字符串比较 用 strcmp(), 复制用 strcpy(), 输入用 gets(), 清除输入
缓冲器中的剩余字符用 fflush(stdin); 完整 程序如下。
#include <stdio.h>
int main(){
char s[21][20];
int i,j,n;
printf("input n:\n");scanf("%d",&n);
for (i=0;i<n;i++){
printf("input string %d: ",i+1); fflush(stdin);
gets(s[i]);
};
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++){
if (strcmp(s[j],s[i])<0){
strcpy(s[20],s[i]);
strcpy(s[i],s[j]);strcpy(s[j],s[20]);
};
};
for (i=0;i<n;i++)printf("%s\n",s[i]);
return 0;
}
追问啊啊啊 解决了 非常感谢♪(・ω・)ノ