【九度oj 1135】【OpenJ_Bailian - 2915】 字符串排序 (水)
生活随笔
收集整理的這篇文章主要介紹了
【九度oj 1135】【OpenJ_Bailian - 2915】 字符串排序 (水)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題干:
先輸入你要輸入的字符串的個數(shù)。然后換行輸入該組字符串。每個字符串以回車結(jié)束,每個字符串少于一百個字符。如果在輸入過程中輸入的一個字符串為“stop”,也結(jié)束輸入。?然后將這輸入的該組字符串按每個字符串的長度,由小到大排序,按排序結(jié)果輸出字符串。?
Input字符串的個數(shù),以及該組字符串。每個字符串以‘\n’結(jié)束。如果輸入字符串為“stop”,也結(jié)束輸入.Output將輸入的所有字符串按長度由小到大排序輸出(如果有“stop”,不輸出“stop”)。?
Sample Input 5 sky is grey cold very cold stop 3 it is good enough to be proud of good it is quite goodSample Output cold very cold sky is grey good it is quite good it is good enough to be proud of Hint根據(jù)輸入的字符串個數(shù)來動態(tài)分配存儲空間(采用new()函數(shù))。每個字符串會少于100個字符。?
測試數(shù)據(jù)有多組,注意使用while()循環(huán)輸入。
解題報告:
????水題不解釋。
ac代碼:
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std;struct Node {char s[100 + 5];int len; } node[100000 + 5];bool cmp(const Node & a,const Node & b) {return a.len<b.len;} int main() {int n,i;int curs;while(~scanf("%d",&n) ) {curs=0;getchar();for( i = 0; i<n; i++) {//用到這里的i時,一定要注意了!首先 這里最后多了一個i++,gets(node[i].s); //其次,有stop和沒有stop的輸入時,要分類討論,因為如果有stop,因為有break所以沒有最后的i++ curs++; // printf("curs===%d\n",curs);if(!strcmp(node[i].s,"stop")) {curs--;break;}node[i].len=strlen(node[i].s);} // printf("*****curs=%d\n",curs);sort(node,node+curs,cmp);for(int j = 0; j<curs; j++) {printf("%s\n",node[j].s);}}return 0 ;}總結(jié):
? ? 暫無
總結(jié)
以上是生活随笔為你收集整理的【九度oj 1135】【OpenJ_Bailian - 2915】 字符串排序 (水)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【POJ - 3347 】Kadj Sq
- 下一篇: 企业债和公司债有什么不同?企业债和公司债