前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编排字符串

编排字符串

作者头像
喜欢ctrl的cxk
发布2019-11-08 10:41:21
3910
发布2019-11-08 10:41:21
举报
文章被收录于专栏:Don的成长史

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/90603405

题目描述:

请输入字符串,最多输入4 个字符串,要求后输入的字符串排在前面,例如

输入:EricZ

输出:1=EricZ

输入:David

输出:1=David 2=EricZ

输入:Peter

输出:1=Peter 2=David 3=EricZ

输入:Alan

输出:1=Alan 2=Peter 3=David 4=EricZ

输入:Jane

输出:1=Jane 2=Alan 3=Peter 4=David

输入描述:

代码语言:javascript
复制
第一行为字符串个数m,接下来m行每行一个字符床,m不超过100,每个字符床长度不超过20。

输出描述:

代码语言:javascript
复制
输出m行,每行按照样例格式输出,注意用一个空格隔开。

输入样例:

代码语言:javascript
复制
5
EricZ
David
Peter
Alan
Jane

输出样例:

代码语言:javascript
复制
1=EricZ
1=David 2=EricZ
1=Peter 2=David 3=EricZ
1=Alan 2=Peter 3=David 4=EricZ
1=Jane 2=Alan 3=Peter 4=David

解题思路:

我一开始想用stack,后来想想不对劲 stack用top+pop取出来栈顶元素后就没啦,还是得用vector来进行逆序输出。注意输出格式,行末不能有多余的空格只需要换行。

AC代码:

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int m;
    cin >> m;
    getchar();    //cin后用getline一定要先getchar()吃回车
    vector<string> v;
    for (int i = 0; i < m; i++)
    {
        string str;
        getline(cin,str); 
        v.push_back(str);
        int cnt = 0;   //用来记录输出的行数,最多输出4行
        for(int j = v.size()-1; j >= 0; j--)
        {
            cnt++;
            if(cnt < 5)
            {
                //只有行末是回车,其它情况都是空格
                printf("%d=%s%s", cnt, v[j].c_str(), (j==0||cnt==4 ? "\n":" "));
            }
        }
    }
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述:
  • 输入描述:
  • 输出描述:
  • 输入样例:
    • 输出样例:
      • 解题思路:
        • AC代码:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档