#2468: 又是WAˊˋ一題簡單題


ashspark (ggbb)

學校 : 不指定學校
編號 : 8168
來源 : [114.136.220.239]
最後登入時間 :
2024-04-27 19:36:09
d281. 10499 - The Land of Justice -- UVa10499 | From: [140.112.240.134] | 發表日期 : 2009-10-10 13:07

快要被大數問題搞死了ˊˋ網路上人家寫用longlong就好了

但是我用longlong不管是%I64d 或是 %lld都跑出以下的答案

能不能請高人指點一下呢?抱歉我問題真是超多的....

與正確輸出不相符(line:51)
您的答案為: -2147483648%
正確答案為: 11289105350%

 

#include<stdio.h>
int main(){
long long int cut;
while(scanf("%I64d",&cut)!=EOF){
if(cut<0)
break;
if(cut==1)
printf("0%%\n");
else{
double minus,f_profit;
long long int i_profit;
f_profit=100*cut/4;
i_profit=(int)f_profit;
minus=f_profit-i_profit;
if(minus>=0.5)
i_profit+1;
printf("%I64d%%\n",i_profit);
    }
                            }
return 0;
          }

 
#2470: Re:又是WAˊˋ一題簡單題


bleed1979 (Bleed)

學校 : 不指定學校
編號 : 1489
來源 : [203.204.21.29]
最後登入時間 :
2021-05-02 22:12:13
d281. 10499 - The Land of Justice -- UVa10499 | From: [114.32.177.97] | 發表日期 : 2009-10-10 13:46

快要被大數問題搞死了ˊˋ網路上人家寫用longlong就好了

但是我用longlong不管是%I64d 或是 %lld都跑出以下的答案

能不能請高人指點一下呢?抱歉我問題真是超多的....

與正確輸出不相符(line:51)
您的答案為: -2147483648%
正確答案為: 11289105350%

 

#include
int main(){
long long int cut;
while(scanf("%I64d",&cut)!=EOF){
if(cut<0)
break;
if(cut==1)
printf("0%%\n");
else{
double minus,f_profit;
long long int i_profit;
f_profit=100*cut/4;
i_profit=(int)f_profit;
minus=f_profit-i_profit;
if(minus>=0.5)
i_profit+1;
printf("%I64d%%\n",i_profit);
    }
                            }
return 0;
          }

這題會建議你先想法則

在紙上先算出

輸入1,  2,  3,  4,  5,  6的答案分別是百分之幾?

code就不必寫這麼多,減少錯誤

附帶一提,%lld勢必要的

 

 
ZeroJudge Forum