九度OJ-题目1195:最长&最短文本-结构体数组比较
2017-06-08 22:12
211 查看
题目链接:http://ac.jobdu.com/problem.php?pid=1195
she
sorry
he
hello
sorry
题目描述:
输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。输入:
输入包括多行字符串,字符串的长度len,(1<=len<=1000)。输出:
按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。样例输入:
helloshe
sorry
he
样例输出:
hehello
sorry
来源:
2008年华中科技大学计算机研究生机试真题思路:
结构体比较(必会)+别用二维数组存储免得MLEAC代码
#include<bits/stdc++.h> #define maxn 1000000 using namespace std; struct str{ int no; int len; string s; }ss[maxn]; int cnt = 0; char s[1005]; int minn = 1001; int maxnn = -1; bool cmp(str x, str y){ if(x.len != y.len){ return x.len < y.len; } else return x.no < y.no; return x.no < y.len; } int main(){ char str[1001]; while(~scanf("%s",str)){ int len = strlen(str); ss[cnt].no = cnt; ss[cnt].len = len; ss[cnt].s = str; if(len < minn){ minn = len; } if(len > maxnn){ maxnn = len; } cnt++; } sort(ss,ss+cnt,cmp); for(int i = 0;i < cnt;i++){ if(ss[i].len == minn){ cout << ss[i].s << endl; } if(ss[i].len == maxnn){ cout << ss[i].s << endl; } } return 0; }
相关文章推荐
- 九度OJ 题目1195:最长&最短文本
- 题目1195:最长&最短文本
- 九度-题目1195:最长&最短文本
- 题目1195:最长&最短文本
- 题目1195:最长&最短文本
- 【九度OJ】题目1195:最长&最短文本 解题报告
- 题目1195:最长&最短文本
- 题目1195:最长&最短文本
- 九度OJ 1195:最长&最短文本 (搜索)
- 九度OJ 1195:最长&最短文本 (搜索)
- 九度&1195:最长&最短文本
- 九度-1195 最长&最短文本
- 1195 最长&最短文本
- 备战考研算法笔记(七)最长&最短文本
- 有关数组 & 动态数组,输出数组中最长字符以及最短字符,若最长最短不止一个,都输出
- CF #244 (Div. 2) D Match & Catch (后缀数组 仅出现一次最短公共子串)
- char a[]和char *a的比较,数组名,数组首地址,a,&a,&a[0]
- 南阳理工OJ_题目745 蚂蚁的难题(二)&&题目983 首尾相连数组的最大子数组和
- 关于数组和指针比较经典的题目
- 【编程珠玑】第十五章--字符串:统计文本中单词数量(C++的Map&C的结构体实现&POJ2418)