题目1195:最长&最短文本
2015-07-06 23:20
239 查看
题目描述:
输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
输入:
输入包括多行字符串,字符串的长度len,(1<=len<=1000)。
输出:
按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
样例输入:
样例输出:
C++代码:
C++代码2:
Java代码:
输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
输入:
输入包括多行字符串,字符串的长度len,(1<=len<=1000)。
输出:
按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。
样例输入:
hello she sorry he
样例输出:
he hello sorry
C++代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> struct text { char name[1001]; unsigned int len; }; int main() { struct text texts[1000]; unsigned int max, min, i, j; //接收数据 for(i = 0; scanf("%s", texts[i].name) != EOF; i ++) { texts[i].len = strlen(texts[i].name); if(i == 0) { max = min = texts[i].len; }else { if(texts[i].len > max) { max = texts[i].len; }else if(texts[i].len < min) { min = texts[i].len; } } } //打印输出 for(j = 0; j < i; j ++) { if(texts[j].len == min) printf("%s\n", texts[j].name); } for(j = 0; j < i; j ++) { if(texts[j].len == max) printf("%s\n", texts[j].name); } return 1; } /************************************************************** Problem: 1195 User: Carvin Language: C++ Result: Accepted Time:10 ms Memory:1936 kb ****************************************************************/
C++代码2:
#include<iostream> #include<string> #include<vector> using namespace std; int main() { vector<string> svec; string str; while(cin >> str, !cin.eof()) svec.push_back(str); int i,min,max,n=svec.size(); min=max=svec[0].size(); for(i=1;i<n;i++) { if(svec[i].size()<min) min=svec[i].size(); if(svec[i].size()>max) max=svec[i].size(); } for(i=0;i<n;i++) { if(svec[i].size()==min) cout<<svec[i]<<endl; } if(max==min) return 0; for(i=0;i<n;i++) { if(svec[i].size()==max) cout<<svec[i]<<endl; } return 1; } /************************************************************** Problem: 1195 User: Carvin Language: C++ Result: Accepted Time:40 ms Memory:2180 kb ****************************************************************/
Java代码:
import java.util.LinkedList; import java.util.Scanner; import java.util.Vector; import java.util.List; import java.util.ListIterator; public class Main{ public static void main(String [] args) throws Exception{ Scanner in = new Scanner(System.in); StringBuffer sbl = new StringBuffer(); StringBuffer sbs = new StringBuffer(); int max,min; String str = in.next(); max = min = str.length(); sbl.append(str+"\n"); sbs.append(str+"\n"); while(in.hasNext()){ str = in.next(); int len = str.length(); if(len>max){ max = len; sbl = new StringBuffer(); sbl.append(str+"\n"); }else if(len == max){ sbl.append(str+"\n"); }else if(len<min){ min = len; sbs = new StringBuffer(); sbs.append(str+"\n"); }else if(len == min){ sbs.append(str+"\n"); } }//while System.out.print(sbs.toString()+sbl.toString()); } } /************************************************************** Problem: 1195 User: Carvin Language: Java Result: Accepted Time:340 ms Memory:25472 kb ****************************************************************/
相关文章推荐
- ice编译文件不能使用中文路径
- 一步步制作RPM包
- 2015070610 - 看到很多所谓的大牛
- hibernate初入门3--hibernate的简易实现
- 用来在category里加属性的宏
- Redhat Linux RPM包安装软件及其管理
- 配置apache 支持 php
- C#生成DLL文件的方法小结
- poj 2151 Check the difficulty of problems 概率dp
- 集合(1) list hash
- asp.net 学习之路之gridView控件之修改数据
- 哈夫曼树
- iOS中的模块化开发思路一
- Tcl之looping
- 【C#】线程池
- leetCode 23. Merge k Sorted Lists (合并k个排序链表) 解题思路和方法
- ubuntu shell脚本开机自动运行的方法
- Power of Two
- Java IO:面向缓冲区、同步、非阻塞式IO(NIO)
- [分享]关于mac的保修时间计算政策,附送延长保修时间秘诀