c++中数组的一个题目

来源:百度知道 编辑:UC知道 时间:2024/06/17 04:23:50
输入若干个字符串,求出每个字符串的长度,并打印最长字符串的内容。以“stop”作为输入的最后一个字符串。

这几种方法应该有合适你的哦
假如用数组的话代码如下:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string p[100];
char str[200];
int i,k,j,n,max,a[100],count;
i=j=count=0;
cout<<"请输入字符串并以stop结束:"<<endl;
while(1)
{
cin.getline (str,200);
p[i]=str;
if(p[i]=="stop")
break;
i++;
}
n=i;
if(n==0)
{
cout<<"NULL!!!"<<endl;
exit(1);
}
else
{
cout<<"运算结果为:"<<endl;
for(i=0;i<n;i++)
cout<<"第"<<i+1<<"行的长度为:"<<strlen(p[i].c_str ())<<endl;
max=strlen(p[0].c_str ());
for(k=1;k<n;k++)
if(max<strlen(p[k].c_str ()))
max=strlen(p[k].c_str ());
for(k=0;k<n;k++)
if(max==strlen(p[k].c_str ()))
{
a[j]=k;
count++;
j++;
}