题目链接:http://acm.zzuli.edu.cn/problem.php?id=1139
1139: 输出最短字符串
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 872 Solved: 504
Submit Status Web Board
Description
输入n和n个字符串,输出其中最短的字符串。若长度相同则输出出现较早的那一个。
Input
第一行是一个整数n,后面跟着n行,每行包括一个由字母和数字和空格组成的字符串,长度不超过1000。
Output
长度最短的字符串,若长度相同则输出出现较早的那一个。
Sample Input
5
How are you!
Happy
Good!
Hello world!
Thinks
Sample Output
Happy
HINT
Source,
思路:这的确是道水题,但是我改了半天,开始是用vc6.0运行的,对于getline(cin,s)不熟悉。改用codeblocks,然后调试对了。开始要写getchar(),吸收换行符。
#include<iostream>
#include<string>
#include<string.h>
#include<stdio.h>
using namespace std;
string s[1000];
int main()
{
int n,i,len,position,min=1100;
cin>>n;
getchar();
for(i=0;i<n;i++)
{
getline(cin,s[i]);
}
for(i=0;i<n;i++)
{
len=s[i].size();
if(len<min)
{
min=len;
position=i;
}
}
cout<<s[position]<<endl;
return 0;
}