时间限制: 1000 ms 空间限制: 262144 KB 具体限制
题目描述
输入一段由若干个以空格分隔的单词组成的英文文章,求出文章中最短的单词(文章以英文句点“.”结束,且字符总数不超过200)。
输入
输入文章。
输出
输出最早的最短的单词。
样例输入
We are Oiers.
样例输出
We
题记:
这道题考察字符串处理,使用库函数会方便不少。
用cin或者scanf输入都会在空格出断开,刚好方便我们一个单词一个单词地处理。
C++程序如下:
//NOI1058统计单词
#include <iostream>
#include <cstring>
using namespace std;
const int N = 200;
int main(void){
int len, minlen = N;
char s[N], smin[N];
while(cin >> s){
len = strlen(s);
//最后一个单词,句号删除
if(s[len-1] == '.'){
s[--len] = '\0';
if(len < minlen){
strcpy(smin, s);
minlen = len;
}
break;
}
else{
len = strlen(s);
if(len < minlen){
strcpy(smin, s);
minlen = len;
}
}
}
cout << smin;
return 0;
}