C语言代码哪里错了?
查看原帖
C语言代码哪里错了?
816549
52wyd楼主2022/11/3 13:31

只能得20分,好心人帮我看看代码怎么改

#include <stdio.h>
#include <string.h>
char str[41000], s[210];
int main(void)
{
    int n, flag = 0, i, j;
    scanf("%s", str);
    n = strlen(str);
    
    for (i = 1; i <= n - 1; i ++)
    {
        scanf("%s", s);
        strcat(str, s);
    }

    printf("%d", n);
    
    for (i = 1; i <= n * n - 2; i ++)   
    {
        if (flag == 0 && str[i] != str[0])
        {
            printf(" %d", i);
            flag = 1;
        }
        for (j = i + 1; j <= n * n - 1 && flag == 1; j ++)
        {
            if (str[j] != str[i])
            {        
                printf(" %d", j - i);
                i = j - 1;                  
                if (j == n * n - 1)
                {
                    printf(" 1");
                    flag = 2;
                }
                break;
            }
            if (j == n * n - 1 && str[j] == str[i])
            {
                printf(" %d", j - i + 1);
                flag = 2;
                break;
            }
            
            
        }
        if (flag == 2)
            break;
    }
    
    if (flag == 0)
        printf(" %d\n", n * n);
    return 0;
}

2022/11/3 13:31
加载中...