猫史档案馆


求助,请问这题怎么做

用户:大黄鸡走走Code大黄鸡走走Code查看:10 回复:3 评论:10 创建时间:2024-05-17T20:50:28


刚学到字符串,没学函数,请指教

[题目描述]

 输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。

 试输出第1个最长的单词和第1个最短单词。

 

输入

一行句子。

输出

第1行,第一个最长的单词。

第2行,第一个最短的单词。

样例输入
I am studying Programming language C in Peking University
样例输出
Programming
I
提示

 

提示:


如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。


回复

上一页1 页 / 共 1下一页
hymcr05hymcr05

好的,请稍等

点赞0


评论


hymcr05hymcr05

#include<bits/stdc++.h>
using namespace std;
string s;
int maxx=-99999,minn=999999;
string ans1,ans2;
int main() {

getline(cin,s);
	int len=s.size();
	int cnt=0;
	for(int i=0; i<len; i++) {
		if(s[i]==' ' || s[i]==',') {
			if(maxx<cnt && i-cnt>=0)
				ans1=s.substr(i-cnt,cnt);
			if(minn>cnt && i-cnt>=0)
				ans2=s.substr(i-cnt,cnt);
			maxx=max(cnt,maxx);
			minn=min(cnt,minn);
			cnt=0;
		} else
			cnt++;
	}
	cout<<ans1<<endl<<ans2;
	return 0;
}

点赞0


评论


LeiWill_The_RobotLeiWill_The_Robot

000000000000000000

点赞0


评论