1618 - 编排字符串
请输入字符串,最多输入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
Input
第一行为字符串个数m,接下来m行每行一个字符床,m不超过100,每个字符床长度不超过20。
Output
输出m行,每行按照样例格式输出,注意用一个空格隔开。
Examples
Input
5 EricZ David Peter Alan Jane
Output
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
Solution C
#include<stdio.h> int main() { char str[101][21]; int n,i,j; scanf("%d\n",&n); for(i=0;i<n;i++) { gets(str[i]); for(j=1;j<=i+1;j++) { printf("%d=%s",j,str[i-j+1]); if(j!=i+1&&j!=4) printf(" "); if(j==4) break; } printf("\n"); } return 0; }
Solution C++
#include <cstdio> #include <vector> #include <string> #include <iostream> using namespace std; int main() { //freopen("data.in", "r", stdin); //freopen("data.out", "w", stdout); int t; vector < string > vs; string s; cin >> t; while (t--) { cin >> s; vs.push_back(s); if (vs.size() > 4) vs.erase(vs.begin()); int cnt = 1; for (vector < string >::reverse_iterator it = vs.rbegin(); it != vs.rend(); ++it, ++cnt) { if (1 != cnt) cout << " "; cout << cnt << "=" << *it; } cout << endl; } return 0; }