#8909: 請問這兩個 code 的差別


dibery (Bor)

學校 : 政治大學
編號 : 23441
來源 : [119.14.19.119]
最後登入時間 :
2016-04-07 01:20:18
a221. 11734 - Big Number of Teams will Solve This -- UVa11734 | From: [140.119.120.6] | 發表日期 : 2014-06-26 18:38

嗨~我交了兩份看起來差不多的code上去

可是一個WA一個AC

來請問大家這兩支code的差別在哪@@

WA版:

#include<cstdio>
#include<cstdlib>
#include<cstring>
int judge( char* a, char* b )
{
    if( strcmp( a, b ) == 0 )
        return 0;
    char tmp[ 21 ] = { 0 };
    for( int i = 0; a[ i ]; ++a )
        if( a[ i ] != ' ' )
            tmp[ strlen( tmp ) ] = a[ i ];
    return strcmp( tmp, b )? 1 : 2;
}

int main()
{
    int t;
    char a[ 21 ], b[ 21 ], result[][ 20 ] = { "Yes", "Wrong Answer", "Output Format Error" };
    scanf( "%d\n", &t );   // scanf( "%d%*c", &t ) 也會錯

    for( int n = 1; n <= t; ++n )
    {
        gets( a );
        gets( b );
        printf( "Case %d: %s\n", n, result[ judge( a, b ) ] );
    }
}

AC版:

#include<cstdio>
#include<cstdlib>
#include<cstring>
int judge( char* a, char* b )
{
    if( strcmp( a, b ) == 0 )
        return 0;
    char tmp[ 21 ] = { 0 };
    for( int i = 0; a[ i ]; ++a )
        if( a[ i ] != ' ' )
            tmp[ strlen( tmp ) ] = a[ i ];
    return strcmp( tmp, b )? 1 : 2;
}

int main()
{
    int t;
    char a[ 21 ], b[ 21 ], result[][ 20 ] = { "Yes", "Wrong Answer", "Output Format Error" };
    gets( a ); t = atoi( a );  //就只差在這行而已

    for( int n = 1; n <= t; ++n )
    {
        gets( a );
        gets( b );
        printf( "Case %d: %s\n", n, result[ judge( a, b ) ] );
    }
}
 

 
ZeroJudge Forum