用C语言由用户录入5个任意字符串,输出其中最大的字符串。
时间: 2024-05-07 22:23:27 浏览: 7
可以使用数组来存储这5个字符串,然后遍历数组找出最大的字符串即可。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char strings[5][100]; // 定义一个二维字符数组,可以存储5个字符串,每个字符串最长为99个字符(第100个为'\0')
int i, max_index = 0;
// 循环读入5个字符串
for (i = 0; i < 5; i++) {
printf("请输入第%d个字符串:", i+1);
scanf("%s", strings[i]);
}
// 循环遍历数组,找出最大的字符串
for (i = 1; i < 5; i++) {
if (strcmp(strings[i], strings[max_index]) > 0) {
max_index = i;
}
}
printf("最大的字符串是:%s\n", strings[max_index]);
return 0;
}
```
其中,`strcmp()` 函数用于比较两个字符串的大小,返回值为负数表示第一个字符串小于第二个字符串,返回值为0表示两个字符串相等,返回值为正数表示第一个字符串大于第二个字符串。在本代码中,如果当前字符串比之前找到的最大字符串还要大,则更新最大字符串的下标。
相关问题
写一个c语言,要求由用户录入5个任意字符串,输出其中最大的字符串。
以下是一个简单的 C 语言程序,实现了用户录入 5 个字符串并输出其中最大的字符串:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char strings[5][MAX_LEN];
int i, max_index = 0;
// 录入 5 个字符串
for (i = 0; i < 5; i++) {
printf("请输入第 %d 个字符串:", i + 1);
scanf("%s", strings[i]);
}
// 找到最大的字符串
for (i = 1; i < 5; i++) {
if (strcmp(strings[i], strings[max_index]) > 0) {
max_index = i;
}
}
// 输出最大的字符串
printf("最大的字符串是:%s\n", strings[max_index]);
return 0;
}
```
在这个程序中,我们首先定义了一个二维字符数组 `strings`,它有 5 行和 `MAX_LEN` 列,用于存储用户录入的 5 个字符串。然后使用一个循环逐个录入字符串。
接下来,我们使用另一个循环遍历这 5 个字符串,找到其中最大的字符串。这里我们使用了 `strcmp` 函数来比较两个字符串的大小。如果 `strcmp` 的返回值大于 0,说明第一个字符串大于第二个字符串。
最后,我们输出最大的字符串。
用c语言编写程序,输入5个字符串,输出其中最大的字符串。
以下是用C语言实现输入5个字符串,输出其中最大的字符串的程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[5][30];
int i, max = 0;
printf("请输入5个字符串:\n");
for (i = 0; i < 5; i++)
{
scanf("%s", str[i]);
if (strlen(str[i]) > strlen(str[max]))
max = i;
}
printf("最大的字符串是:%s\n", str[max]);
return 0;
}
```
首先定义一个5行30列的字符数组,用于存储五个字符串。
然后使用for循环输入五个字符串,并比较它们的长度,找到其中最大的字符串。
最后输出最大的字符串即可。