本题要求编写程序,针对输入的N个字符串,输出其中最大的字符串。 输入格式: 输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。 输出格式: 输出最大的字符串。 用c语言写
时间: 2023-11-28 15:51:08 浏览: 179
以下是一种C语言的实现方式:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80 // 定义字符串的最大长度
int main()
{
int n, max_len = 0, max_index = 0; // max_len 记录当前最大长度,max_index 记录最大字符串的下标
char str[MAX_LEN + 1]; // 为了方便,这里将每个字符串的长度限制为 MAX_LEN
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", str);
int len = strlen(str);
if (len > max_len) { // 如果当前字符串长度比最大长度大,则更新最大长度和最大字符串下标
max_len = len;
max_index = i;
}
}
printf("%s\n", str[max_index]); // 输出最大的字符串
return 0;
}
```
该程序的思路是遍历输入的字符串,记录当前最大长度和最大字符串的下标,最后输出最大的字符串。需要注意的是,由于题目中给出的字符串长度不超过80,因此在定义字符串变量时需要留出足够的空间。另外,scanf 函数读入字符串时,可以直接使用 `%s` 格式化字符串,它会自动忽略空格等无用字符。
阅读全文