C++输出句子中最长的单词
#include<iostream>#include<string>usingnamespacestd;intmain(){charshuzu[500];cin.getl...
#include<iostream>
#include<string>
using namespace std;
int main()
{
char shuzu[500];
cin.getline(shuzu,500);
int count=0,biggestqi=0,biggest=0;
int i=0;
for(int i=0;shuzu[i]!='.';i++)
{
if((shuzu[i]>='a'&&shuzu[i]<='z')||(shuzu[i]>='A'&&shuzu[i]<='Z'))
count++;
else
{
if(count>biggest)
{biggest=count;
biggestqi=i-count;
}
count=0;
}
}
if(shuzu[i]=='.')
{
if(count>biggest)
{biggest=count;
biggestqi=i-count;
}
}
if(biggest==0)
{
for(int m=0;m<count;m++)
{
cout<<shuzu[m];
}
}
else
{
for(int k=biggestqi;k<biggestqi+biggest;k++)
{ cout<<shuzu[k];
}
}
return 0;
}
为什么提交的时候总是wrong answer
题目是
描述
一个以'.'结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式
输入
一个以'.'结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式
输出
该句子中最长的单词。如果多于一个,则输出第一个
样例输入
I am a student of Peking University.
样例输出
University 展开
#include<string>
using namespace std;
int main()
{
char shuzu[500];
cin.getline(shuzu,500);
int count=0,biggestqi=0,biggest=0;
int i=0;
for(int i=0;shuzu[i]!='.';i++)
{
if((shuzu[i]>='a'&&shuzu[i]<='z')||(shuzu[i]>='A'&&shuzu[i]<='Z'))
count++;
else
{
if(count>biggest)
{biggest=count;
biggestqi=i-count;
}
count=0;
}
}
if(shuzu[i]=='.')
{
if(count>biggest)
{biggest=count;
biggestqi=i-count;
}
}
if(biggest==0)
{
for(int m=0;m<count;m++)
{
cout<<shuzu[m];
}
}
else
{
for(int k=biggestqi;k<biggestqi+biggest;k++)
{ cout<<shuzu[k];
}
}
return 0;
}
为什么提交的时候总是wrong answer
题目是
描述
一个以'.'结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式
输入
一个以'.'结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式
输出
该句子中最长的单词。如果多于一个,则输出第一个
样例输入
I am a student of Peking University.
样例输出
University 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询