3.6小节——问题 H: 编排字符串

题目描述:

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

代码

#include<cstdio>
int main(){
    int m;
    scanf("%d",&m);
    char s[4][25];
    //用一个4*25的数组就可完成任务 
    int j;             //用来循环输出1,2,3,4 
    int i,size=0;     //用size来记录已经读到的串的个数,从0开始。这样也对应了数组的下标 
    while(m--){
        scanf("%s",s[size%4]);
        i=size;        //用size不动,用i来执行循环 
        if(size<4)
            for(j=1;j<=size+1;j++){
                printf("%d=%s",j,s[i--]);
                if(j==size+1)printf("\n");
                else printf(" ");
            }
        else
            for(j=1;j<5;j++){
                printf("%d=%s",j,s[i%4]);
                i--;
                if(j==4)printf("\n");
                else printf(" ");
            }
        size++; 
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_42114379/article/details/82419843
今日推荐