80分RE 为什么改了字符串长度就AC
查看原帖
80分RE 为什么改了字符串长度就AC
405747
Botton楼主2021/2/4 19:24
#include <stdio.h>
#include <string.h>

char str[1000],ans[26][100];
int array[26],tmp[26];

int main()
{
    int i,j,k,l,t,len;
    for(i=0;i<4;i++)
    {
        gets(str);
        len = strlen(str);
        for(j=0;j<len;j++)
        {
            if(str[j]>='A'&&str[j]<='Z')
            {
                array[str[j]-'A']++;
            }
        }
    }
    for(i=0;i<26;i++)
    {
        tmp[i] = array[i];
    }
    for(i=0;i<25;i++)
    {
        for(j=i+1;j<26;j++)
        {
            if(tmp[j]<tmp[i])
            {
                t = tmp[i];
                tmp[i] = tmp[j];
                tmp[j] = t;
            }
        }
    }
    for(j=0;j<26;j++)
    {
        for(k=tmp[25]-1,l=0;l<array[j];k--,l++)
        {
            ans[k][j] = '*';
        }
    }
    for(i=0;i<tmp[25];i++)
    {
        for(j=0;j<26;j++)
        {
            if(ans[i][j]=='*')
            {
                printf("* ");
            }
            else
            {
                printf("  ");
            }
        }
        printf("\n");
    }
    printf("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z");
    return 0;
}

这个代码本地输出是没问题的 但是最后一个点RE 然后只要把str[1000]改成str[101]就能AC 这是为什么

2021/2/4 19:24
加载中...