题目内容:编写程序,找出输入的N个字符串中最长的字符串。 输入格式:第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。 输出格式: 在一行中按照输出样例的格式输出最长的字符串。如果字符串的长度相同,则输出先输入的字符串。用C语言实现
时间: 2024-02-06 08:10:19 浏览: 30
以下是用 C 语言实现的程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80
int main()
{
int n, i, max_len = 0, max_idx = 0;
char str[MAX_LEN + 1];
scanf("%d", &n);
for (i = 0; i < n; i++)
{
scanf("%s", str);
if (strlen(str) > max_len)
{
max_len = strlen(str);
max_idx = i;
}
}
printf("%s\n", str[max_idx]);
return 0;
}
```
程序中,首先读入一个整数 `n` 表示字符串的个数。然后,使用循环读入 `n` 个字符串,并记录最长的字符串的下标 `max_idx` 和长度 `max_len`。最后输出最长的字符串即可。如果有多个字符串长度相同,则输出先输入的字符串,这是因为程序是按照字符串输入的顺序进行遍历的。
相关问题
编写程序,找出输入的n个字符串中最长的字符串,用C语言实现
以下是一个简单的 C 语言程序,实现了找出输入的 n 个字符串中最长的字符串的功能:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 假设最长字符串长度不超过100
int main() {
int n, i;
char str[MAX_LEN], longest[MAX_LEN];
printf("请输入字符串数量 n:");
scanf("%d", &n);
printf("请输入 %d 个字符串:\n", n);
scanf("%s", longest); // 先把第一个字符串读入作为最长字符串
for (i = 1; i < n; i++) {
scanf("%s", str);
if (strlen(str) > strlen(longest)) {
strcpy(longest, str);
}
}
printf("最长的字符串是:%s\n", longest);
return 0;
}
```
程序的大致思路是,先读入第一个字符串作为最长字符串,然后依次读入后面的字符串,如果发现某个字符串比最长字符串还要长,就用 strcpy() 函数将它复制到最长字符串中。最终输出最长字符串即可。
编写程序,找出输入的n个字符串中最长的字符串,用t
下面是一个简单的 Python 代码实现:
```
n = int(input("请输入字符串个数:"))
max_str = "" # 最长字符串
for i in range(n):
s = input("请输入字符串:")
if len(s) > len(max_str):
max_str = s
print("最长的字符串是:", max_str)
```
首先输入需要输入的字符串个数 `n`,然后依次输入每个字符串。在输入每个字符串时,判断该字符串的长度是否大于当前最长字符串 `max_str` 的长度,如果是则更新 `max_str`。最后输出最长的字符串即可。