用c语言编写一个程序找出最长的字符串。输入5个字符串,输出其中最长的字符串。输入字符串调用函数scanf("%s",sx)。如果最长的字符串有多个,则打印第一个。
时间: 2024-10-21 14:01:21 浏览: 18
C语言求两个字符串的最长公共子串
5星 · 资源好评率100%
在C语言中,你可以通过遍历输入的字符串数组,并记录下长度最长的那个来找到最长的字符串。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
// 定义一个结构体来存储字符串及其长度
typedef struct {
char str[100];
int len;
} Str;
// 函数用于比较两个字符串长度并更新最长字符串
void find_longest(char* arr[], int n, Str* longest) {
for (int i = 0; i < n; i++) {
scanf("%s", arr[i]);
if (strlen(arr[i]) > longest->len) {
strcpy(longest->str, arr[i]); // 更新最长字符串
longest->len = strlen(arr[i]); // 更新长度
}
}
}
int main() {
const int MAX_STRS = 5;
Str longest_str = { "", 0 }; // 初始化最长字符串
char strings[MAX_STRS][100]; // 存储输入的字符串
int input_strings[MAX_STRS];
// 输入字符串并分配长度
printf("Enter %d strings:\n", MAX_STRS);
for (int i = 0; i < MAX_STRS; i++) {
printf("String %d: ", i + 1);
scanf("%s", strings[i]);
input_strings[i] = strlen(strings[i]);
}
// 找出最长的字符串
find_longest(strings, MAX_STRS, &longest_str);
// 输出结果
printf("The longest string is '%s' with length %d.\n", longest_str.str, longest_str.len);
return 0;
}
```
在这个程序中,我们首先定义了一个`Str`结构体来存储字符串及其长度,然后创建了`find_longest`函数来查找最长的字符串。在`main`函数里,用户会输入5个字符串,我们会把它们保存到`strings`数组中,并计算每个字符串的长度。最后,我们会调用`find_longest`函数找出最长的那个,并打印出来。
阅读全文