【九度oj 1135】【OpenJ_Bailian - 2915】 字符串排序 (水)
生活随笔
收集整理的這篇文章主要介紹了
【九度oj 1135】【OpenJ_Bailian - 2915】 字符串排序 (水)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題干:
先輸入你要輸入的字符串的個(gè)數(shù)。然后換行輸入該組字符串。每個(gè)字符串以回車結(jié)束,每個(gè)字符串少于一百個(gè)字符。如果在輸入過程中輸入的一個(gè)字符串為“stop”,也結(jié)束輸入。?然后將這輸入的該組字符串按每個(gè)字符串的長(zhǎng)度,由小到大排序,按排序結(jié)果輸出字符串。?
Input字符串的個(gè)數(shù),以及該組字符串。每個(gè)字符串以‘\n’結(jié)束。如果輸入字符串為“stop”,也結(jié)束輸入.Output將輸入的所有字符串按長(zhǎng)度由小到大排序輸出(如果有“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ù)輸入的字符串個(gè)數(shù)來動(dòng)態(tài)分配存儲(chǔ)空間(采用new()函數(shù))。每個(gè)字符串會(huì)少于100個(gè)字符。?
測(cè)試數(shù)據(jù)有多組,注意使用while()循環(huán)輸入。
解題報(bào)告:
????水題不解釋。
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時(shí),一定要注意了!首先 這里最后多了一個(gè)i++,gets(node[i].s); //其次,有stop和沒有stop的輸入時(shí),要分類討論,因?yàn)槿绻衧top,因?yàn)橛衎reak所以沒有最后的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】 字符串排序 (水)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【POJ - 3347 】Kadj Sq
- 下一篇: 【POJ - 1664】放苹果 (递归经