【华科考研机试题】最长最短文本
生活随笔
收集整理的這篇文章主要介紹了
【华科考研机试题】最长最短文本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
輸入多行字符串,請按照原文本中的順序輸出其中最短和最長的字符串,如果最短和最長的字符串不止一個,請全部輸出。
解題思路
1.輸入所有字符串(有空格不另算字符串)。
2.將char*字符串轉換成string型。
3.由于map是自動排好序的,所以begin和end可以取到最小的地址和最大的后一個地址。
4.將最長和最短的list輸出即可。
難點
代碼
#include <bits/stdc++.h> using namespace std; int main(){string s;char c[1100];map <int, list<string>> m;int num;while(gets(c)){s = c; // char*轉換成stringm[s.length()].push_back(s);}list <string> l;list <string>::iterator it;l = m.begin()->second;//最短for(it = l.begin();it != l.end(); ++it){cout << *it << endl;}l = (--m.end())->second;//最長for(it = l.begin();it != l.end(); ++it){cout << *it << endl;}return 0; }總結
以上是生活随笔為你收集整理的【华科考研机试题】最长最短文本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【华科考研机试题】二叉树遍历(递归版 详
- 下一篇: 【华科考研机试题】阶乘