加赏!C语言数组编程:用二维字符数组的每行存储键盘输入的字符串,将这些字符串按字典顺序升序排列,按

2025-03-26 01:40:12
推荐回答(2个)
回答1:

#include 
#include 

const int MAXSIZE = 10;
const int MAXLEN = 50;

void mysort(char s[][MAXLEN],int n) {
int i,j,k;
char tmp[MAXLEN];
for(i = 0; i < n; ++i) {
k = i;
for(j = i + 1; j < n; ++j) {
if(strcmp(s[k],s[j]) > 0) k = j;
}
if(i != k) {
strcpy(tmp,s[i]);
strcpy(s[i],s[k]);
strcpy(s[k],tmp);
}
}
}

int main() {
int i;
char s[MAXSIZE][MAXLEN];
printf("输入%d个字符串:\n",MAXSIZE);
for(i = 0; i < MAXSIZE; ++i)
fgets(s[i],MAXLEN,stdin);
printf("排序前:\n");
for(i = 0; i < MAXSIZE; ++i)
printf("%s",s[i]);
mysort(s,MAXSIZE);
printf("排序后:\n");
for(i = 0; i < MAXSIZE; ++i)
printf("%s",s[i]);
return 0;
}

回答2:

259