1.7编程基础之字符串 25:最长最短单词
1143:最长最短单词
总时间限制:
1000ms
内存限制:
65536kB
描述
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
输入
一行句子。
输出
两行输出:
第1行,第一个最长的单词。
第2行,第一个最短的单词。
样例输入
I am studying Programming language C in Peking University
样例输出
Programming I
提示
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。
来源
习题(12-2)
C++参考代码一:
/*
电子学会 C语言 2级 50 、最长最短单词(2021真题)
1.7编程基础之字符串 25:最长最短单词
http://noi.openjudge.cn/ch0107/25/
*/
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
string s, maxs, mins;
int maxlen, minlen;
cin >> s;
maxs = mins = s;
maxlen = minlen = s.size();
while(cin >> s)
{
if(s.size() > maxlen)
{
maxlen = s.size();
maxs = s;
}
if(s.size() < minlen)
{
minlen = s.size();
mins = s;
}
}
cout << maxs << endl;
cout << mins << endl;
return 0;
}
C++参考代码二:
/*
电子学会 C语言 2级 50 、最长最短单词(2021真题)02
1.7编程基础之字符串 25:最长最短单词
http://noi.openjudge.cn/ch0107/25/
*/
#include<iostream>
#include<cstring>
using namespace std;
char c[101],a[101]={0},b[101]={0};
int l1=0,l2=101;
int main()
{
while(cin>>c)
{
if(strlen(c)>l1)
{
strcpy(a,c);
l1=strlen(a);
}
if(strlen(c)<l2)
{
strcpy(b,c);
l2=strlen(b);
}
}
cout<<a<<endl<<b;
return 0;
}
python3代码:
""" 电子学会 C语言 2级 50 、最长最短单词(2021真题) 1.7 编程基础之字符串 25 最长最短单词 http://noi.openjudge.cn/ch0107/25/ https://blog.csdn.net/hy_696/article/details/106412888 https://blog.csdn.net/m0_43456002/article/details/102729230 LeetCode--最后一个单词的长度(python版) https://www.jianshu.com/p/e45152efc507 """ a=input().split() a=list(a) lena=len(a) i=0 max=0 min=99999 while i<lena: num=len(a[i]) if max<num: max=num flagmax=i if min>num: min=num flagmin=i i+=1 print(a[flagmax]) print(a[flagmin])
电子学会青少年等级考试C语言(二级)
电子学会 青少年软件编程等级考试 C语言 2 级
电子学会 青少年软件编程等级考试 C语言 2 级_dllglvzhenfeng的博客-CSDN博客