首页 > 安全资讯 >

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

13-02-20

题目1195:最长&最短文本时间限制:1 秒内存限制:32 兆特殊判题:否提交:982解决:336题目描述: 输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请...

题目1195:最长&最短文本时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:982
解决:336
 
题目描述:
    输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
 
输入:
输入包括多行字符串,字符串的长度len,(1<=len<=1000)。
 
输出:
按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
 
样例输入:
hello
she
sorry
he样例输出:
he
hello
sorry来源:
2008年华中科技大学计算机研究生机试真题
[cpp] 
/********************************* 
*   日期: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;  
}  
 
/*********************************
*   日期: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);
}www.2cto.com
}
//输出最长文本
for(i = 0;i < index;i++){
if(S[i].len == Max){
puts(S[i].str);
}
}
return 0;
}
 
刚开始让人纠结的是怎样结束输入。最后经由网友明白:
输入ctrl+Z再输回车,再输一次ctrl+Z再输回车,就可以结束输
相关文章
最新文章
热点推荐