为什么自己测试的时候是对的,一上传就是一片红

P5730 【深基5.例10】显示屏

Marc206721 @ 2024-10-23 21:36:18

大佬们救一下

#include <stdio.h>
#include <string.h>

int main() {
    int n;
    scanf("%d", &n);
    getchar(); // 读取换行符

    char a[100];
    char ans[5][10000]; // 用于存储每行的输出

    for (int i = 0; i < n; i++) {
        scanf("%c", &a[i]);
        switch (a[i]) {
            case '0':
                strcat(ans[0], "XXX");
                strcat(ans[1], "X.X");
                strcat(ans[2], "X.X");
                strcat(ans[3], "X.X");
                strcat(ans[4], "XXX");
                break;
            case '1':
                strcat(ans[0], "..X");
                strcat(ans[1], "..X");
                strcat(ans[2], "..X");
                strcat(ans[3], "..X");
                strcat(ans[4], "..X");
                break;
            case '2':
                strcat(ans[0], "XXX");
                strcat(ans[1], "..X");
                strcat(ans[2], "XXX");
                strcat(ans[3], "X..");
                strcat(ans[4], "XXX");
                break;
            case '3':
                strcat(ans[0], "XXX");
                strcat(ans[1], "..X");
                strcat(ans[2], "XXX");
                strcat(ans[3], "..X");
                strcat(ans[4], "XXX");
                break;
            case '4':
                strcat(ans[0], "X.X");
                strcat(ans[1], "X.X");
                strcat(ans[2], "XXX");
                strcat(ans[3], "..X");
                strcat(ans[4], "..X");
                break;
            case '5':
                strcat(ans[0], "XXX");
                strcat(ans[1], "X..");
                strcat(ans[2], "XXX");
                strcat(ans[3], "..X");
                strcat(ans[4], "XXX");
                break;
            case '6':
                strcat(ans[0], "XXX");
                strcat(ans[1], "X..");
                strcat(ans[2], "XXX");
                strcat(ans[3], "X.X");
                strcat(ans[4], "XXX");
                break;
            case '7':
                strcat(ans[0], "XXX");
                strcat(ans[1], "..X");
                strcat(ans[2], "..X");
                strcat(ans[3], "..X");
                strcat(ans[4], "..X");
                break;
            case '8':
                strcat(ans[0], "XXX");
                strcat(ans[1], "X.X");
                strcat(ans[2], "XXX");
                strcat(ans[3], "X.X");
                strcat(ans[4], "XXX");
                break;
            case '9':
                strcat(ans[0], "XXX");
                strcat(ans[1], "X.X");
                strcat(ans[2], "XXX");
                strcat(ans[3], "..X");
                strcat(ans[4], "XXX");
                break;
        }
        if (i < n - 1) {
            strcat(ans[0], ".");
            strcat(ans[1], ".");
            strcat(ans[2], ".");
            strcat(ans[3], ".");
            strcat(ans[4], ".");
        }
    }

    for (int i = 0; i < 5; i++) {
        printf("%s\n", ans[i]);
    }

    return 0;
}

by Steve15312 @ 2024-10-27 09:04:01

洛谷上的回车不是\n,是两个字符\r\n


|