1 条题解

  • 0
    @ 2026-10-18 19:16:47

    题解:小 Z 的独特称呼

    题目大意

    给定 (T) 个人的信息,输入格式为 man姓名 或 woman姓名。根据性别和姓名的最后一个字,按照指定规则输出新的称呼:

    • 男生:最后一个字 + 哥!
    • 女生:小 + 最后一个字 + 同学!

    解题思路

    判断性别:输入格式没有空格,男生以 m 开头,女生以 w 开头。直接判断 s[0] 即可区分性别。 提取末字:题目保证姓名的最后一个字符一定是英文字母,因此它只占一个字节。直接用 strlen 求出长度,通过 s[len - 1] 即可精准获取最后一个字符。

    代码实现

    #include <stdio.h>
    #include <string.h>
    #define MAX 2000005
    char s[MAX];
    
    int main() {
        int T;
        scanf("%d", &T);
        while (T--) {
            scanf("%s", s);
            int len = strlen(s);
            // 提取姓名的最后一个字符
            char last = s[len - 1];
            // 根据首字母判断性别
            if (s[0] == 'm') {
                // 男生
                printf("%c哥!\n", last);
            } else if (s[0] == 'w') {
                // 女生
                printf("小%c同学!\n", last);
            }
        }
        return 0;
    }
    
    • 1

    信息

    ID
    1250
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    (无)
    递交数
    102
    已通过
    28
    上传者