輸入多行字串,請按照原文本中的順序輸出其中最短和最長的字串,如果最短和最長的字串不止乙個,請全部輸出。1.輸入所有字串(有空格不另算字串)。
2.將char*字串轉換成string型。
3.由於map是自動排好序的,所以begin和end可以取到最小的位址和最大的後乙個位址。
map >m;//構造map
m[s.length].push_back(s);//map插入
list l = m.begin()->second();//map取最短
l = (--end())->second();//map取最長
4.將最長和最短的list輸出即可。
輸入包含空格的字串用gets或者getline。
char*字串轉換成string字串直接用等號。
#include using namespace std;
int main()
list l;
list ::iterator it;
l = m.begin()->second;//最短
for(it = l.begin();it != l.end(); ++it)
l = (--m.end())->second;//最長
for(it = l.begin();it != l.end(); ++it)
return 0;
}
華科考研機試題 最長 最短文本
輸入多行字串,請按照原文本中的順序輸出其中最短和最長的字串,如果最短和最長的字串不止乙個,請全部輸出。1.輸入所有字串 有空格不另算字串 2.將char 字串轉換成string型。3.由於map是自動排好序的,所以begin和end可以取到最小的位址和最大的後乙個位址。map int,list m ...
華科考研機試題 階乘
輸入n,求y1 1 3 m m是小於等於n的最大奇數 y2 2 4 p p是小於等於n的最大偶數 打表算最快,不用每個資料都算一次。時間複雜度 輸入的資料量o m 空間複雜度o 1 include using namespace std typedef long long ll 實際上算到30的階乘...
最長 最短文本
1 結構體定義 struct node n 2000 term 注意下面不能用 char strr 2000 n i str strr 這樣直接賦值。可以使用strcpy n i str,strr 2 scanf s s 輸入的字串不能含有空格等。如果要輸入含有空格的字串要使用gets函式。輸入多行...