一组测试点都没过,但是自己测试都是对的

回复帖子

@fanatic 2019-03-25 18:41 回复

include<stdio.h>

include<string.h>

include<ctype.h>

int table[27]={0}; char ans[400][26]; char s[105]; int main() { int i=0,j=0,n=-1; for(i=0;i<4;i++) { gets(s); for(j=0;s[j]!='\0';j++) { if(isalpha(s[j])) table[s[j]-'A']++; }

}
for(i=0;i<26;i++)
{
    if(table[i]>n)
        n=table[i];
}
for(i=0;i<26;i++)
    ans[n-1][i]='A'+i;
for(j=0;j<26;j++)
{
    for(i=n-2;i>=n-table[j]-1;i--)
        ans[i][j]='*';
    for(i=n-table[j]-2;i>=0;i--)
        ans[i][j]=' ';
}
for(i=0;i<n;i++)
{
    for(j=0;j<26;j++)
        putchar(ans[i][j]);
    putchar('\n');
}
return 0;

} 这有问题吗,我把输出存在一个二维数组里面

@first_fan 2019-03-25 18:51 回复 举报

你的输出格式错了 要求输出字母间要打空格 你的没打。

your out:
              *
    *         *
    *         *  * *
    *         *  * *
*   *  *      *  * *
*   *  **  ** *  ***
*   * ***  ** ** ****
*  ******  ***** ****  **
**************************
ABCDEFGHIJKLMNOPQRSTUVWXYZ

std out:

                            *
                            *
        *                   *
        *                   *     *   *
        *                   *     *   *
*       *     *             *     *   *
*       *     * *     * *   *     * * *
*       *   * * *     * *   * *   * * * *
*     * * * * * *     * * * * *   * * * *     * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
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
@first_fan 2019-03-25 18:54 回复 举报

你的代码改一下就好了:

//yours:

for(j=0;j<26;j++)
{
    putchar(ans[i][j]);
}
putchar('\n');

//correct:

for(j=0; j<26; j++)
{
    putchar(ans[i][j]);
    putchar(' ');
}
putchar('\n');          

@fanatic

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。