#484: 為何會WA?


sland5p (JwHu)

學校 : 東南科技大學
編號 : 2322
來源 : [123.51.217.99]
最後登入時間 :
2015-10-23 11:36:04
a038. 數字翻轉 | From: [60.251.148.162] | 發表日期 : 2008-08-20 16:05

 我想了一下子,DEV C++編譯有過,結果也正確...但我不知道系統給我的錯誤訊息是什麼意思!誰能告訴我阿~~~

#include <stdio.h>
#include <string.h>

int main()
{
    char temp[10];
    int j,k,length;
    
    while(scanf("%s",temp) != EOF)
    {
        length = strlen(temp);
            if(temp[0] != 48)
            {
                for(k=(length-1); k>=0; k--)
                {
                    printf("%c",temp[k]);
                }
                printf("\n");
            }
            else
            {
                for(j=(length-1); j>0; j--)
                {
                    printf("%c",temp[j]);
                }
                printf("\n");
            }
    }
    return 0;
}

 

 

與正確輸出不相符(line:5)
您的答案為: 00005
正確答案為: 5

 
#485: Re:為何會WA?


POOHccc ()

學校 : 國立臺中技術學院
編號 : 1139
來源 : [220.135.97.253]
最後登入時間 :
2012-02-04 21:23:42
a038. 數字翻轉 | From: [220.135.97.253] | 發表日期 : 2008-08-20 20:46

 我想了一下子,DEV C++編譯有過,結果也正確...但我不知道系統給我的錯誤訊息是什麼意思!誰能告訴我阿~~~

#include <stdio.h>
#include <string.h>

int main()
{
    char temp[10];
    int j,k,length;
    
    while(scanf("%s",temp) != EOF)
    {
        length = strlen(temp);
            if(temp[0] != 48)
            {
                for(k=(length-1); k>=0; k--)
                {
                    printf("%c",temp[k]);
                }
                printf("\n");
            }
            else
            {
                for(j=(length-1); j>0; j--)
                {
                    printf("%c",temp[j]);
                }
                printf("\n");
            }
    }
    return 0;
}

 

 

與正確輸出不相符(line:5)
您的答案為: 00005
正確答案為: 5



題目有說:

「* 前面有 0 的話應消除」

 

 
#502: Re:為何會WA?


sland5p (JwHu)

學校 : 東南科技大學
編號 : 2322
來源 : [123.51.217.99]
最後登入時間 :
2015-10-23 11:36:04
a038. 數字翻轉 | From: [60.251.148.162] | 發表日期 : 2008-08-22 11:28

 我想了一下子,DEV C++編譯有過,結果也正確...但我不知道系統給我的錯誤訊息是什麼意思!誰能告訴我阿~~~

#include <stdio.h>
#include <string.h>

int main()
{
    char temp[10];
    int j,k,length;
    
    while(scanf("%s",temp) != EOF)
    {
        length = strlen(temp);
            if(temp[0] != 48)
            {
                for(k=(length-1); k>=0; k--)
                {
                    printf("%c",temp[k]);
                }
                printf("\n");
            }
            else
            {
                for(j=(length-1); j>0; j--)
                {
                    printf("%c",temp[j]);
                }
                printf("\n");
            }
    }
    return 0;
}

 

 

與正確輸出不相符(line:5)
您的答案為: 00005
正確答案為: 5



題目有說:

「* 前面有 0 的話應消除」

 


「* 前面有 0 的話應消除」

所謂的0是翻轉前的0還是翻轉後的0?

我執行也沒看見有0阿~~

問題很多不好意思~~ 


 
#504: Re:為何會WA?


POOHccc ()

學校 : 國立臺中技術學院
編號 : 1139
來源 : [220.135.97.253]
最後登入時間 :
2012-02-04 21:23:42
a038. 數字翻轉 | From: [220.135.97.253] | 發表日期 : 2008-08-22 11:37

試了我的程式以後

若測資為000051

答案應該為15而不是15000

 
#505: Re:為何會WA?


sland5p (JwHu)

學校 : 東南科技大學
編號 : 2322
來源 : [123.51.217.99]
最後登入時間 :
2015-10-23 11:36:04
a038. 數字翻轉 | From: [60.251.148.162] | 發表日期 : 2008-08-22 11:47

試了我的程式以後

若測資為000051

答案應該為15而不是15000

喔喔,我只把第一個有0的情況排除,我沒將後面有可能出現0的情況想到.....不好意思我太粗心了!

 謝謝你,我吃飽去看看~~

 
#506: Re:為何會WA?


sland5p (JwHu)

學校 : 東南科技大學
編號 : 2322
來源 : [123.51.217.99]
最後登入時間 :
2015-10-23 11:36:04
a038. 數字翻轉 | From: [60.251.148.162] | 發表日期 : 2008-08-22 11:50

試了我的程式以後

若測資為000051

答案應該為15而不是15000

喔喔,我只把第一個有0的情況排除,我沒將後面有可能出現0的情況想到.....不好意思我太粗心了!

 謝謝你,我吃飽去看看~~

對了那如果測資為15000那翻轉過後也要將0去除嗎?答案應為51? 



 
#508: Re:為何會WA?


POOHccc ()

學校 : 國立臺中技術學院
編號 : 1139
來源 : [220.135.97.253]
最後登入時間 :
2012-02-04 21:23:42
a038. 數字翻轉 | From: [220.135.97.253] | 發表日期 : 2008-08-22 11:52

試了我的程式以後

若測資為000051

答案應該為15而不是15000

喔喔,我只把第一個有0的情況排除,我沒將後面有可能出現0的情況想到.....不好意思我太粗心了!

 謝謝你,我吃飽去看看~~

對了那如果測資為15000那翻轉過後也要將0去除嗎?答案應為51? 




15000的話

答案為00051

 
#509: Re:為何會WA?


sland5p (JwHu)

學校 : 東南科技大學
編號 : 2322
來源 : [123.51.217.99]
最後登入時間 :
2015-10-23 11:36:04
a038. 數字翻轉 | From: [60.251.148.162] | 發表日期 : 2008-08-22 15:19

我已經改好了如您所提示

輸入 00051

輸出 15

輸入 15000

輸出 00051

但還是得到相同的WA訊息...

程式碼如下:

#include <stdio.h>
#include <string.h>

int main()
{
    char temp[20];
    int i,j,k,length;
    int count = 0;
   
    while(scanf("%s",temp) != EOF)
    {
        length = strlen(temp);
       
        for(i=0; i<length; i++)
        {
            if(temp[i] == 48)
            {
                count++;
            }
            else
            {
                break;
            }
        }
       
        if(count == 0)
        {
            for(j=(length-1); j>=0; j--)
            {
                printf("%c",temp[j]);
            }
        }
        else
        {
            for(k=(length-1); k>=count; k--)
            {
                printf("%c",temp[k]);
            }
        }
        count = 0;
        printf("\n");
    }
    return 0;
}

快發瘋了~就就我... 閉嘴

 
#513: Re:為何會WA?


POOHccc ()

學校 : 國立臺中技術學院
編號 : 1139
來源 : [220.135.97.253]
最後登入時間 :
2012-02-04 21:23:42
a038. 數字翻轉 | From: [220.135.97.253] | 發表日期 : 2008-08-22 18:56

我發現這題測資有改過正確答案

用以前AC的程式碼送,也一樣在line 5就WA

改用以下測資試應該就會AC了

輸入:

00015

15000

0

輸出: 

51

51

 
#523: Re:為何會WA?


sland5p (JwHu)

學校 : 東南科技大學
編號 : 2322
來源 : [123.51.217.99]
最後登入時間 :
2015-10-23 11:36:04
a038. 數字翻轉 | From: [60.251.148.162] | 發表日期 : 2008-08-25 14:16

我發現這題測資有改過正確答案

用以前AC的程式碼送,也一樣在line 5就WA

改用以下測資試應該就會AC了

輸入:

00015

15000

0

輸出: 

51

51

有依照您的提示去改,輸入輸出都與您提示一樣,但又WA了...訊息為

與正確輸出不相符(line:6)
您的答案為: 21
正確答案為: 201

我也有照他的去改

輸入為102

輸出為201

也改好了正確了,還是不給過... 

程式碼如下:

#include <stdio.h>
#include <string.h>

int main(void)
{
    char temp[20];
    int i,j,k,length;
    int count = 0;
   
    while(scanf("%s",temp) != EOF)
    {
        length = strlen(temp);
       
        for(i=0; i<length; i++)
        {
            if(temp[i] == 48)
            {
                count++;
            }
            else
            {
                break;
            }
        }
        if((strlen(temp) == 1) && (temp[0] == 48))
        {
            printf("0");
        }
       
        else if(count == 0)
        {
            for(j=(length-1); j>=0; j--)
            {
                if((temp[length-1] != 48) || (temp[j] != 48))
                {
                    printf("%c",temp[j]);
                }
            }
        }
        else
        {
            for(k=(length-1); k>=count; k--)
            {
                printf("%c",temp[k]);
            }
        }
        count = 0;
        printf("\n");
    }
    return 0;
}   

吐血中... 

 
#535: Re:為何會WA?


POOHccc ()

學校 : 國立臺中技術學院
編號 : 1139
來源 : [220.135.97.253]
最後登入時間 :
2012-02-04 21:23:42
a038. 數字翻轉 | From: [220.135.97.253] | 發表日期 : 2008-08-27 09:05

輸入01020

正確輸出:201 

 
#1219: Re:為何會WA?


kcqp5ovx (kcqp5ovx)

學校 : 不指定學校
編號 : 1716
來源 : [112.78.85.117]
最後登入時間 :
2009-04-21 19:20:41
a038. 數字翻轉 | From: [202.144.217.121] | 發表日期 : 2009-01-20 18:43

輸入01020

正確輸出:201 


也就是說:input後把0去掉,output前也把0去掉就是了。 
#1221: Re:為何會WA?


morris1028 (碼畜)

學校 : 國立花蓮高級中學
編號 : 3529
來源 : [114.37.59.62]
最後登入時間 :
2021-07-12 19:00:43
a038. 數字翻轉 | From: [118.160.206.123] | 發表日期 : 2009-01-20 22:07

輸入01020

正確輸出:201 


也就是說:input後把0去掉,output前也把0去掉就是了。


這題的意思是說!

如果反轉之後 開頭是0的話就去掉。當然可以很多的0,反正要消到不是0,再輸出。

這個一定要學會,C語言 大數會應用到。

 
#7712: Re:為何會WA?


detnotzero (wichan)

學校 : 國立臺灣師範大學
編號 : 32491
來源 : [140.122.189.204]
最後登入時間 :
2013-09-22 23:15:17
a038. 數字翻轉 | From: [140.122.39.16] | 發表日期 : 2013-04-26 21:41

輸入01020

正確輸出:201 


也就是說:input後把0去掉,output前也把0去掉就是了。


這題的意思是說!

如果反轉之後 開頭是0的話就去掉。當然可以很多的0,反正要消到不是0,再輸出。

這個一定要學會,C語言 大數會應用到。

原來輸入前面的零也要去掉

 
ZeroJudge Forum