```c #include <stdio.h> #include <string.h> int main() { int n; scanf("%d", &n); // 读取字符串的数量 char str[100][80]; // 存储输入的字符串 int len[100]; // 存储每个字符串的长度 for (int i = 0; i < n; i++) { scanf("%s", str[i]); // 读取字符串 len[i] = strlen(str[i]); // 计算字符串长度 } int maxLen = len[0]; // 初始化最长长度为第一个字符串的长度 int maxIndex = 0; // 初始化最长字符串的索引为 0 for (int i = 1; i < n; i++) { // 从第二个字符串开始比较 if (len[i] > maxLen) { // 如果当前字符串更长 maxLen = len[i]; // 更新最长长度 maxIndex = i; // 更新最长字符串的索引 } } printf("the longest is: %s\n", str[maxIndex]); // 输出最长字符串 return 0; } ``` 额外需要注意的逻辑点: 1. 输入字符串时要确保不超过 80 个字符,否则可能会导致缓冲区溢出。 2. 比较字符串长度时要考虑所有输入的字符串,确保找到真正的最长字符串。 3. 输出格式要严格按照题目要求,包括字符串 "the longest is: " 以及换行符。 [2024-12-15 00:39:07 | AI写代码神器 | 356点数解答]