输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。 C语言指针
时间: 2024-02-22 18:59:09 浏览: 20
好的,可以用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[5][MAX_LEN]; // 定义二维字符数组
int i, max_len = 0, max_idx = 0;
// 输入5个字符串
printf("请输入5个字符串:\n");
for (i = 0; i < 5; i++) {
scanf("%s", str[i]);
int len = strlen(str[i]);
if (len > max_len) {
max_len = len;
max_idx = i;
}
}
// 输出最大字符串
printf("最大的字符串是:%s\n", str[max_idx]);
return 0;
}
```
这里使用了一个二维字符数组 `str` 来存放输入的5个字符串。在输入的过程中,我们计算每个字符串的长度,并比较得到最大字符串的下标,最后输出即可。
相关问题
输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。 用c语言
好的,以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[5][MAX_LEN];
int i, max_len = 0, max_index;
// 输入5个字符串
printf("请输入5个字符串:\n");
for (i = 0; i < 5; i++) {
printf("第%d个字符串:", i + 1);
fgets(str[i], MAX_LEN, stdin);
str[i][strlen(str[i]) - 1] = '\0'; // 去掉换行符
}
// 找出最大的字符串
for (i = 0; i < 5; i++) {
if (strlen(str[i]) > max_len) {
max_len = strlen(str[i]);
max_index = i;
}
}
// 输出最大的字符串
printf("最大的字符串为:%s\n", str[max_index]);
return 0;
}
```
代码中使用了一个二维字符数组 `str` 存放输入的五个字符串,使用 `fgets` 函数读入字符串,并去掉换行符。然后使用一个循环遍历所有字符串,找出最大的字符串并记录其下标,最后输出最大的字符串。
c语言代码 输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。
以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main()
{
char strings[5][MAX_LEN];
char max_string[MAX_LEN];
int i;
// 读入5个字符串
for (i = 0; i < 5; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", strings[i]);
}
// 比较字符串长度,找出最大的字符串
strcpy(max_string, strings[0]);
for (i = 1; i < 5; i++) {
if (strlen(strings[i]) > strlen(max_string)) {
strcpy(max_string, strings[i]);
}
}
// 输出最大的字符串
printf("最大的字符串为:%s\n", max_string);
return 0;
}
```
该程序使用二维字符数组 `strings` 存放 5 个字符串,每个字符串的最大长度为 `MAX_LEN`。程序首先读入 5 个字符串,并使用 `strlen` 函数比较字符串长度,找出最大的字符串并输出。注意,为了安全起见,我们应该使用 `strcpy` 函数复制字符串,而不是简单地赋值。