电子学会 C语言 2级 50 、最长最短单词(2021真题)

1.7编程基础之字符串 25:最长最短单词

OpenJudge - 25:最长最短单词

1143:最长最短单词

信息学奥赛一本通(C++版)在线评测系统

 




总时间限制: 

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语言(二级)_电子学会c语言等级考试_dllglvzhenfeng的博客-CSDN博客

电子学会 青少年软件编程等级考试 C语言 2 级

电子学会 青少年软件编程等级考试 C语言 2 级_dllglvzhenfeng的博客-CSDN博客

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值