本题要求编写C语言程序,读入5个字符串,按由小到大的顺序输出
时间: 2023-05-26 20:05:32 浏览: 172
一个对字符串处理的程序,要求能够识别字符串中大写字母、小写字母以及数字的个数并输出,识别“L”、“o”、“v”、“e”四个字符的
5星 · 资源好评率100%
思路:
我们需要先将输入的5个字符串存储到一个字符串数组中,然后对这个字符串数组进行排序,最后按顺序输出即可。
字符串的排序可以使用C语言库函数`strcmp()`来实现,它返回值为正数,则表示第一个字符串大于第二个字符串,返回值为负数,则表示第一个字符串小于第二个字符串,返回值为0,则表示两个字符串相等。
以下是完整的代码:
```c
#include <stdio.h>
#include <string.h>
#define N 5 // 定义常量N,表示输入字符串的数量
int main() {
char str[N][50]; // 定义一个字符串数组,用于存储输入的字符串
int i, j;
char temp[50]; // 用于交换的临时字符串
// 读入5个字符串
printf("请输入%d个字符串:\n", N);
for (i = 0; i < N; i++) {
scanf("%s", str[i]);
}
// 对输入的字符串进行排序
for (i = 0; i < N - 1; i++) {
for (j = i + 1; j < N; j++) {
if (strcmp(str[i], str[j]) > 0) {
// 如果第i个字符串大于第j个字符串,则交换两个字符串
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
// 按顺序输出排序后的字符串
printf("排序后的字符串如下:\n");
for (i = 0; i < N; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
示例输出:
```
请输入5个字符串:
hello
world
c
java
python
排序后的字符串如下:
c
hello
java
python
world
```
阅读全文