#13366: 測試執行過不了 解題卻AC.. 求問為什麼?


mirkat.ee06@g2.nctu.edu.tw (炭烤海苔)

學校 : 不指定學校
編號 : 74539
來源 : [138.246.3.111]
最後登入時間 :
2023-11-22 18:43:09
d561. 被秒殺的四捨五入 -- jack1 | From: [124.8.72.43] | 發表日期 : 2018-02-08 12:18

自己測也都沒問題,但測試執行過不了..丟上去OJ卻AC

為什麼會這樣??

// d561 : 被秒殺的四捨五入
#include <cstdio>
#include <cstring>
#define N 110

int main()
{
    char c;
    while( scanf("%c", &c )!=EOF )
    {
        bool neg = 0 ;
        int d = 0 ;
        
        if( c=='-' )
            neg = 1 ;
        else
            d += c-'0' ;

        scanf("%c", &c );
        while( c!='.' )
        {
            d *= 10 ;
            d += c-'0' ;
            scanf("%c", &c );
        }

        char f[N];

        scanf("%s", f );
        for( int i=strlen(f) ; i<N ; i++ )
            f[i] = '0' ;

        int a = f[0]-'0' , b = f[1]-'0' , c = f[2]-'0' ;
        if( c>=5 )
        {
            b += 1 ;
            a += b/10 ;        b %= 10 ;
            d += a/10 ;        a %= 10 ;
        }

        if( d==0 && a==0 && b==0 )
            printf("0.00\n");
        else if( neg )
            printf("-%d.%d%d\n", d , a , b );
        else
            printf("%d.%d%d\n", d , a , b );

        scanf("%c", &c );
    }
    return 0;
}

 
#13367: Re:測試執行過不了 解題卻AC.. 求問為什麼?


mirkat.ee06@g2.nctu.edu.tw (炭烤海苔)

學校 : 不指定學校
編號 : 74539
來源 : [138.246.3.111]
最後登入時間 :
2023-11-22 18:43:09
d561. 被秒殺的四捨五入 -- jack1 | From: [124.8.72.43] | 發表日期 : 2018-02-08 12:20

自己測也都沒問題,但測試執行過不了..丟上去OJ卻AC

為什麼會這樣??

(略

結果顯示這樣

WA (line:2)

您的答案為: -380.50
正確答案為: 0.50



 
#13369: Re:測試執行過不了 解題卻AC.. 求問為什麼?


icube (!@#$%^&*()_+)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 61090
來源 : [220.135.116.184]
最後登入時間 :
2024-04-01 14:01:32
d561. 被秒殺的四捨五入 -- jack1 | From: [220.135.116.184] | 發表日期 : 2018-02-08 13:37

 

有 AC 就好啦 XD

測試執行時 jQuery 的 serialize 把所有換行字元改成 \r\n ,最後面 scanf("%c") 要兩次,

實際上的測資只有 \n ,所以會有你遇到的狀況。

 
#13370: Re:測試執行過不了 解題卻AC.. 求問為什麼?


mirkat.ee06@g2.nctu.edu.tw (炭烤海苔)

學校 : 不指定學校
編號 : 74539
來源 : [138.246.3.111]
最後登入時間 :
2023-11-22 18:43:09
d561. 被秒殺的四捨五入 -- jack1 | From: [124.8.72.43] | 發表日期 : 2018-02-08 16:24

 

有 AC 就好啦 XD

測試執行時 jQuery 的 serialize 把所有換行字元改成 \r\n ,最後面 scanf("%c") 要兩次,

實際上的測資只有 \n ,所以會有你遇到的狀況。



原來如此~

感謝iCUbe解答

 
ZeroJudge Forum