用键盘输入十个字符串,利用指针数组将其由短到长依次输出,利用c语言完成
时间: 2023-12-04 20:04:41 浏览: 169
以下是一个可能的实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STR_LEN 100
int main() {
char strings[10][MAX_STR_LEN]; // 存储输入的字符串数组
char *pointers[10]; // 指向字符串的指针数组
int i, j;
// 输入十个字符串
printf("Please enter ten strings:\n");
for (i = 0; i < 10; i++) {
scanf("%s", strings[i]);
pointers[i] = strings[i];
}
// 使用冒泡排序法按字符串长度排序
for (i = 0; i < 9; i++) {
for (j = 0; j < 9 - i; j++) {
if (strlen(pointers[j]) > strlen(pointers[j+1])) {
char *temp = pointers[j];
pointers[j] = pointers[j+1];
pointers[j+1] = temp;
}
}
}
// 输出排序后的字符串
printf("Sorted strings:\n");
for (i = 0; i < 10; i++) {
printf("%s\n", pointers[i]);
}
return 0;
}
```
这个程序首先定义了一个二维字符数组 `strings` 用于存储输入的十个字符串,以及一个一维字符指针数组 `pointers` 用于指向这些字符串。然后,程序使用 `scanf` 函数依次读入这些字符串,并将它们的指针存储到 `pointers` 数组中。接下来,程序使用冒泡排序法按照字符串长度对 `pointers` 数组进行排序。最后,程序依次输出排序后的字符串。
阅读全文