在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。 要求:用指针方法处理,c语言
时间: 2024-02-11 16:07:14 浏览: 82
好的,这是一个字符串排序的问题,我可以为您提供一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void sort_str(char **str, int n);
int main(void) {
char str[10][100];
char *pstr[10];
// 输入10个字符串
printf("Please input 10 strings:\n");
for (int i = 0; i < 10; i++) {
scanf("%s", str[i]);
pstr[i] = str[i];
}
// 对字符串排序
sort_str(pstr, 10);
// 输出已排序的字符串
printf("\nThe sorted strings are:\n");
for (int i = 0; i < 10; i++) {
printf("%s\n", pstr[i]);
}
return 0;
}
void sort_str(char **str, int n) {
char *temp;
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
if (strcmp(str[i], str[j]) > 0) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
```
在这个代码中,我们定义了一个`sort_str`函数来对字符串进行排序,该函数接受一个字符串指针数组和数组长度作为参数。我们使用了冒泡排序的方法来对字符串进行排序。在主函数中,我们首先定义了一个二维字符数组`str`来保存用户输入的字符串,然后将每个字符串的地址保存到一个字符指针数组`pstr`中,最后调用`sort_str`函数对字符串进行排序,并输出已排序的字符串。
阅读全文