题目1135:字符串排序 Java/c++
来源:互联网 发布:双色球扫描查询软件 编辑:程序博客网 时间:2024/06/03 14:26
- 题目描述:
先输入你要输入的字符串的个数。然后换行输入该组字符串。每个字符串以回车结束,每个字符串少于一百个字符。
如果在输入过程中输入的一个字符串为“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; } }//while return 1;}/************************************************************** Problem: 1135 User: Carvin Language: C++ Result: Accepted Time:10 ms Memory: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; } }//for for(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: 1135 User: Carvin Language: Java Result: Accepted Time:90 ms Memory:15772 kb****************************************************************/
1 1
- 题目1135:字符串排序 Java/c++
- 题目1135:字符串排序
- 题目1135:字符串排序
- 题目1135:字符串排序
- 题目1117:整数奇偶排序 C++/Java
- 九度OJ 题目1135:字符串排序
- 九度题目:字符串排序(1135)
- 【九度】题目1135:字符串排序
- 九度OJ 题目1135:字符串排序
- 题目1066:字符串排序
- 题目1066:字符串排序
- 题目1066:字符串排序
- 题目1066:字符串排序
- Java字符串题目--去除重复字符并排序
- 五十道编程小题目 --- 40 字符串排序 java
- 题目1099:后缀子串排序 C++\Java
- 题目5:字符串内排序
- 题目1115: 字符串内排序
- App开发日报 2015-05-01 HealthKit开发之HealthKit数据操作
- 并行计算知识
- 动态数组类/对象的浅复制/对象深复制
- Java单元测试进阶之单元测试利器JUnit(新手上路)
- [C++]LeetCode 7:Reverse Integer(翻转整数)
- 题目1135:字符串排序 Java/c++
- c++_vector
- 第四章作业4
- 基于MFC的电子名片管理系统
- Java单元测试进阶之单元测试利器JUnit(测试自动化)
- Cocos2d-2.x_使用系统时间来获取随机数
- 一道“求阴影面积”初等几何题的“凑面积、做加减”解法
- 《android编程实践》阅读笔记(一)
- 黑马程序员--------面向对象