c语言中如何输入若干个字符串并求出每个字符串的长度并输出最长字符串的内容
可以使用字符数组和循环结合起来实现输入若干个字符串,并求出每个字符串的长度。具体步骤如下:
1.定义一个字符数组来存储输入的字符串,可以使用二维字符数组,如char str[100][100],可以存储100个字符串,每个字符串最大长度为100。
2.定义一个整型数组来存储每个字符串的长度,如int len[100],与字符数组一一对应。
3.使用循环输入字符串,可以使用fgets()函数或scanf()函数来输入,fgets()函数更安全,可以避免缓冲区溢出,示例代码如下:
for (int i = 0; i < 100; i++) {
fgets(str[i], 100, stdin); //从标准输入读入一个字符串
len[i] = strlen(str[i]); //求出字符串的长度
if (str[i][len[i]-1] == '\n') { //去掉fgets()函数自动添加的换行符
str[i][len[i]-1] = '\0';
len[i]--;
}
if (strcmp(str[i], "end") == 0) { //输入end表示输入结束
break;
}
}
4.使用循环遍历整型数组,求出最长字符串的长度,并记录下标。
int max_len = 0;
int max_index = 0;
for (int i = 0; i < 100; i++) {
if (len[i] > max_len) {
max_len = len[i];
max_index = i;
}
}
5.输出最长字符串的内容。
printf("最长字符串为:%s\n", str[max_index]);
完整代码如下:
原文地址: https://www.cveoy.top/t/topic/bkGj 著作权归作者所有。请勿转载和采集!