急!求教C语言问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 05:39:42
用C语言编程:输入若干个字符串,求每个字符串的长度并打应最长字符的内容,以“stop”作为输入的最后一个字符串

#define M 10
#define N 20
#include<stdio.h>
#include<string.h>
void main()
{
char str[N][M]; /*定义二维数组*/
char max[M]; /*定义最长字符串*/
int k,i=0; /*定义循环变量*/
printf("Please input the strings:\n");
do /*输入字符串,以stop结束*/
{
gets(str[i]);
}
while(strcmp(str[i++],"stop")!=0);
i--;
printf("The strings are:\n"); /*输出各字符串*/
for(k=0;k<i;k++)
{
puts(str[k]);
printf("%d\n",strlen(str[k]));
}
strcpy(max,str[0]); /*设第一个字符串为最长的字符串*/
for(k=0;k<i;k++) /*比较各字符串长度*/
{
if(strlen(max)<strlen(str[k]))
strcpy(max,str[k]); /*令第一个字符串为最长的字符串*/
}
printf("The longest string is:\n");
puts(max);
}

我用C++写了一个,比下面的都简洁很多。你看看吧。
注意的是,最长的字符串可以是有多个的。

#include<iostream>
#include<string>
using namespace std;
int main()
{
strin