c语言在主函数中输入n个等长的字符串。用另一函数对它们排序,然后在主函数输出这n个已排好序的字符串。 输入n和n个字符串,调用函数拍序,在主函数中输出排序的字符串,每个一行。每个字符串的长度不超过20个字符。 【输入输出样例】 输入: 5 study student sting string stray 输出: sting stray string student study
时间: 2024-02-27 09:57:30 浏览: 110
C语言程序设计-将主函数中输入的字符串反序存放;例如:输入字符串“abcdefg”,则应输出“gfedcba”;.c
5星 · 资源好评率100%
这是一个字符串排序的问题,可以使用标准库函数 `qsort` 进行排序,需要自己实现一个比较函数。以下是对应的函数实现:
```c
int cmp(const void *a, const void *b) {
return strcmp(*(char **)a, *(char **)b);
}
void sortStrings(char *str[], int n) {
qsort(str, n, sizeof(char *), cmp);
}
```
使用时,先读入 n 和所有字符串,然后将它们存储在一个数组中,调用该函数进行排序,最后输出排序后的字符串:
```c
int main() {
int n, i;
char str[100][21];
char *pStr[100];
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%s", str[i]);
pStr[i] = str[i];
}
sortStrings(pStr, n);
for (i = 0; i < n; i++) {
printf("%s\n", pStr[i]);
}
return 0;
}
```
希望能够对你有所帮助!
阅读全文