您在由一群小丑经营的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;
}
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示