利用3×20的二维字符数组存放3个字符串,找出其中最大的字符串并输出。用c语言
时间: 2023-06-03 20:02:53 浏览: 136
来实现。
抱歉,我可以回答这个问题。以下是 C 语言的实现代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char strs[3][20];
int i, max_index = -1, max_len = 0;
// 输入3个字符串
for (i = 0; i < 3; i++) {
printf("请输入第 %d 个字符串:", i+1);
scanf("%s", strs[i]);
}
// 找出最大的字符串
for (i = 0; i < 3; i++) {
int len = strlen(strs[i]);
if (len > max_len) {
max_len = len;
max_index = i;
}
}
// 输出最大的字符串
printf("最长的字符串是:%s\n", strs[max_index]);
return 0;
}
```
以上代码首先定义了一个3×20的二维字符数组 `strs`,并用 `scanf` 函数从控制台输入了3个字符串,分别存储在 `strs` 数组中。
然后通过遍历数组的方法,找出其中最长的字符串的下标,最后输出该字符串即可。
相关问题
3.输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。c语言
可以使用strcmp()函数比较字符串大小,遍历二维字符数组找出最大的字符串。
下面是示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 字符串最大长度
int main() {
char strs[5][MAX_LEN]; // 定义二维字符数组,存放5个字符串
int i, max_index = 0;
// 输入5个字符串
printf("Enter 5 strings:\n");
for (i = 0; i < 5; i++) {
scanf("%s", strs[i]);
}
// 找出最大的字符串
for (i = 1; i < 5; i++) {
if (strcmp(strs[i], strs[max_index]) > 0) {
max_index = i;
}
}
// 输出最大的字符串
printf("The largest string is: %s\n", strs[max_index]);
return 0;
}
```
注意:该代码没有对输入的字符串长度进行判断和处理,如果输入的字符串超过了MAX_LEN的长度限制,会导致程序出错。
输入5个字符串,从中找出最大的字符串并输出。要求用二维字符数组存放这5个字符串。 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_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个字符串。在输入的过程中,我们计算每个字符串的长度,并比较得到最大字符串的下标,最后输出即可。