题目1135:字符串排序 Java/c++

题目描述:

先输入你要输入的字符串的个数。然后换行输入该组字符串。每个字符串以回车结束,每个字符串少于一百个字符。如果在输入过程中输入的一个字符串为“stop”,也结束输入。然后将这输入的该组字符串按每个字符串的长度,由小到大排序,按排序结果输出字符串。

输入:

字符串的个数,以及该组字符串。每个字符串以‘\n’结束。如果输入字符串为“stop”,也结束输入.

输出:

可能有多组测试数据,对于每组数据,将输入的所有字符串按长度由小到大排序输出(如果有“stop”,,不输出“stop”)。

样例输入: 5sky is greycoldvery coldstop3it is good enough to be proud ofgoodit is quite good样例输出: coldvery coldsky is greygoodit is quite goodit is good enough to be proud of提示:

根据输入的字符串个数来动态分配存储空间(采用new()函数)。每个字符串会少于100个字符。测试数据有多组,注意使用while()循环输入。

c++代码:

#include <iostream>#include <string>#include <vector>#include <algorithm> using namespace std; bool cmp(string x,string y){return x.length()<y.length();} int main(){string str;int i,j,k;int n;while(cin>>n&&n){cin.ignore();vector<string>vecstr;for(i=0;i<n;i++){getline(cin,str);if (str=="stop"){break;}vecstr.push_back(str);}sort(vecstr.begin(),vecstr.end(),cmp);/*for (vector<string>::iterator i=vecstr.begin();i!=vecstr.end();i++){cout<<*i<<endl;}*/for (i=0;i<vecstr.size();i++){cout<<vecstr[i]<<endl;}}//whilereturn 1;}/**************************************************************Problem: 1135User: CarvinLanguage: C++Result: AcceptedTime:10 msMemory:1528 kb****************************************************************/Java代码:

import java.util.Scanner;import java.*;public class Main{public static void main(String args[]){String str[]=new String[100];String tempstr ="";String str1;int i,j,k;Scanner cin=new Scanner(System.in);while(cin.hasNext()){int num=cin.nextInt();int count=0;for(i=0;i<=num;i++){str1=cin.nextLine();if(!str1.equals("stop")){str[i]=str1;count++;}else {break;}}//forfor(i=0;i<count;i++){for(j=0;j<i;j++){if(str[j].length()<str[i].length()){tempstr=str[j];str[j]=str[i];str[i]=tempstr;}}}//Arrays.sort(str);//System.out.pri5ntln(Arrays.toString(str));for(i=count-2;i>=0;i–){System.out.println(str[i]);}//for}//while}//main}//Main/**************************************************************Problem: 1135User: CarvinLanguage: JavaResult: AcceptedTime:90 msMemory:15772 kb****************************************************************/

学做任何事得按部就班,急不得

题目1135:字符串排序 Java/c++

相关文章:

你感兴趣的文章:

标签云: