首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

9度OJ 题目1195:最长&最短文本

2013-02-24 
九度OJ 题目1195:最长&最短文本题目1195:最长&最短文本时间限制:1 秒内存限制:32 兆特殊判题:否提交:982解

九度OJ 题目1195:最长&最短文本

题目1195:最长&最短文本

时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:982

解决:336

题目描述:

    输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。

输入:

输入包括多行字符串,字符串的长度len,(1<=len<=1000)。

输出:

按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。

样例输入:
helloshesorryhe
样例输出:
hehellosorry
来源:
2008年华中科技大学计算机研究生机试真题
/**********************************   日期:2013-2-20*   作者:SJF0115*   题号: 九度OJ 题目1195:最长&最短文本*   来源:http://ac.jobdu.com/problem.php?pid=1195*   结果:AC*   来源:2008年华中科技大学计算机研究生机试真题*   总结:**********************************/#include<stdio.h>#include<stdlib.h>#include<string.h>#include <limits.h>typedef struct String{int len;//长度char str[1001];}String;String S[10001];int main(){int i,index = 0;int Max = INT_MIN,Min = INT_MAX;while(scanf("%s",S[index].str) != EOF){S[index].len = strlen(S[index].str);//最大长度if(Max < S[index].len){Max = S[index].len;}//最小长度else if(Min > S[index].len){Min = S[index].len;}index++;}//输出最短文本for(i = 0;i < index;i++){if(S[i].len == Min){puts(S[i].str);}}//输出最长文本for(i = 0;i < index;i++){if(S[i].len == Max){puts(S[i].str);}}return 0;}

刚开始让人纠结的是怎样结束输入。最后经由网友明白:
输入ctrl+Z再输回车,再输一次ctrl+Z再输回车,就可以结束输入

热点排行