您在由一群小丑经营的Albatross Circus Management工作,您刚写了一个以长度非递减的顺序输出姓名列表的程序(每个姓名至少要和前面的名字一样长)。但是,您的老板不喜欢这样的输出方式,他要求改为看上去对称的输出形式,最短的字符串在顶部和低部,最长的在中间。他的规则是每一对姓名在列表对等的地方,每一对姓名中的第一个在列表的上方。如在样例输入的第一个例子中,Bo和Pat是第一对,Jean和Kevin是第二对,等等。
输入格式:
输入包含若干测试用例。每个测试用例是一个或多个字符串组成的集合。输入以0为结束。每个测试用例以一个整数n为开始,表示该测试用例中字符串的个数,每个字符串一行,字符串以长度的非递减顺序排列。字符串不含空格。每个测试用例中的字符串至少有一个,至多有15个。每个字符串至多25个字符。
输出格式:
对每个测试用例输出一行“SET n”,其中n从1开始,后面的输出如样例输出所示。
输入样例:
7
Bo
Pat
Jean
Kevin
Claude
William
Marybeth
6
Jim
Ben
Zoe
Joey
Frederick
Annabelle
5
John
Bill
Fran
Stan
Cece
0
输出样例:
SET 1
Bo
Jean
Claude
Marybeth
William
Kevin
Pat
SET 2
Jim
Zoe
Frederick
Annabelle
Joey
Ben
SET 3
John
Fran
Cece
Stan
Bill
#include<stdio.h>
int main(void) {
char a[50][50];
int n = 0;
int sum = 1;
scanf("%d", &n);
while (n!=0) {
for (int i = 0; i < n; i++) {
scanf("%s", a[i]);
}
printf("SET %d\n", sum);
for (int i = 0; i < n; i++) {
if (i % 2 == 0) {
printf("%s\n", a[i]);
}
}
for (int i = n-1; i >= 0 ; i--) {
if (i % 2 != 0) {
printf("%s\n", a[i]);
}
}
scanf("%d", &n);
sum++;
}
return 0;
}
浙公网安备 33010602011771号