算法笔记字符串处理问题H:编排字符串(2064)

栏目: 编程工具 · 发布时间: 5年前

内容简介:请输入字符串,最多输入4 个字符串,要求后输入的字符串排在前面,例如输入:EricZ输出:1=EricZ

题目描述

请输入字符串,最多输入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

输入

第一行为字符串个数m,接下来m行每行一个字符床,m不超过100,每个字符床长度不超过20。

输出

输出m行,每行按照样例格式输出,注意用一个空格隔开。

样例输入

5
EricZ
David
Peter
Alan
Jane

样例输出

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

思路:字符串数组逆序输出的问题,用二维字符数组表示一个字符串数组。注意点是只需要输出四个,输入第i(假设i大于4)个字符串后,一次输出的分别是s[i - 0],s[i-1],s[i-2],s[i-3]。按照题目要求的1=s[i - j]的格式输出。用变量first表示是否是第一个,若不是第一个,输出字符串之前要先输出一个空格。

下面是 C语言 代码。

#include<stdio.h>
#include<string.h>
int main()
{
    int n,first,index;
    char str[100][100];
    while(scanf("%d",&n) != EOF){
        for(int i = 0;i < n;i++){
            scanf("%s",str[i]);
            first = 0;
            if(i < 3)
                index = i + 1;
            else
                index = 4;
            for(int j = 0;j < index;j++){
                if(first)
                    printf(" ");
                first = 1;
                printf("%d=%s",j+1,str[i-j]);
            }
            printf("\n");
        }
    }
    return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

一网打尽

一网打尽

[美]布拉德·斯通 / 李晶、李静 / 中信出版社 / 2014-1-15 / 49.00元

亚马逊最早起步于通过邮购来经营图书业务。但贝佐斯却不满足于仅做一名书商,他希望缔造亚马逊万货商店的神话——能提供海量的货源,并以超低的价格提供最具吸引力的便捷服务。为了实现这一诺言,他发展了一种企业文化,这种文化蕴含着执着的雄心与难以破解 的秘诀。亚马逊的这 一文化现在依旧在发扬光大。 布拉德·斯通非常幸运地得到采访亚马逊的前任和现任高管、员工以及贝佐斯本人、家人的机会,使我们第一次有机会深......一起来看看 《一网打尽》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具