快要被大數問題搞死了ˊˋ網路上人家寫用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;
}
快要被大數問題搞死了ˊˋ網路上人家寫用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勢必要的