加载中...

浙江理工大学入队200题——14J

问题 J: 零基础学C/C++155——句子比较大小

题目描述

从键盘输入几个句子(每个句子最多31个字符),对这几个句子按从小到大的顺序输出。

输入

有多组测试数据。 每组测试数据第一行是一个整数n(1 <= n <= 10),表示后面有n个句子 然后是n行,每行一个句子。

输出

对于每组数据输出n行,分别是这n个句子按找从小到大排序后的.每两组之间有一个空行

样例输入 Copy

3
I am a student.
We are all good.
How are you?

样例输出 Copy

How are you?
I am a student.
We are all good.

提示

句子的大小为字典序的大小,不是句子的长度。

题解

这道题不能连用scanf函数,由于scanf函数的特性,连用的话要搭配getchar();原因:>https://blog.csdn.net/ly0303521/article/details/44304867<
而这道题目用getline读入完全没有问题,string 类提供了operator,所以可以直接sort函数解决问题。
听说你给我点赞的样子很帅♪(^∀^●)ノシ (●´∀`)♪

代码(AC)

点击查看代码
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
   string a[20],c;
   int n;
   while(cin>>n)
   {
     getline(cin,c);
     for(int i=0;i<n;i++)
     {
        getline(cin,a[i]);
     }
     sort(a,a+n);
     for(int i=0;i<n;i++) cout<<a[i]<<endl;
     cout<<endl;
   }
} 


posted @ 2022-10-29 22:06  shany212  阅读(412)  评论(0编辑  收藏  举报