C语言代码输入多个字符串按字符串长短输出
时间: 2024-10-14 11:09:00 浏览: 24
在C语言中,如果你想按照字符串的长度顺序输入多个字符串并输出,你可以使用循环结构以及函数`strlen()`来获取每个字符串的长度。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 输入字符串并计算其长度
void inputAndCalculateLength(char str[]) {
char input[100]; // 假设最多输入99个字符
printf("请输入一个字符串(结束请输入空行): ");
fgets(input, sizeof(input), stdin); // 防止换行符被读入
if (input[strlen(input) - 1] == '\n') { // 如果输入的是空行,则忽略
strlen(input)--;
}
int length = strlen(input);
printf("输入的字符串长度是:%d\n", length);
}
int main() {
char* strings[10]; // 定义一个字符串数组存储输入的字符串
int i = 0;
while (fgets(strings[i], sizeof(strings[i]), stdin)) { // 读取直到遇到空行
if (strings[i][strlen(strings[i]) - 1] == '\n') { // 判断是否为结束标志
strings[i][strlen(strings[i]) - 1] = '\0'; // 清除换行符
} else {
break; // 如果不是空行,跳出循环
}
i++;
}
// 按字符串长度排序
for (i = 1; i < sizeof(strings) / sizeof(strings[0]); i++) {
for (int j = 0; j < i; j++) {
if (strlen(strings[j]) > strlen(strings[j + 1])) {
char temp[100];
strcpy(temp, strings[j]);
strcpy(strings[j], strings[j + 1]);
strcpy(strings[j + 1], temp);
}
}
}
// 输出按长度排列的字符串
for (i = 0; i < sizeof(strings) / sizeof(strings[0]); i++) {
printf("%s\n", strings[i]);
}
return 0;
}
阅读全文