#7671: line:8 WA 為何???


eizi822 (RouJun)

學校 : 歡迎光臨羅東高級中學
編號 : 31757
來源 : [140.112.30.97]
最後登入時間 :
2014-03-26 11:41:19
a244. 新手訓練 ~ for + if -- 新手訓練系列 ~ 1 | From: [140.112.30.97] | 發表日期 : 2013-04-13 17:17

#include <cstdio>
#include <cstdlib>

int main()
{
int x,a,b,c,i;
scanf("%d",&x);
for(i=1;i<=x;i++)
{
  scanf("%d%d%d",&a,&b,&c) !=EOF;
  if(a==1)
  printf("%d\n",b+c);
  if(a==2)
  printf("%d\n",b-c);
  if(a==3)
  printf("%d\n",b*c);
  if(a==4)
  printf("%d\n",b/c);
  
}
return 0;
}
  
 
#7672: Re:line:8 WA 為何???


xx52002 (冰清影)

學校 : 國立彰化師範大學
編號 : 6559
來源 : [125.231.121.73]
最後登入時間 :
2023-09-19 23:19:58
a244. 新手訓練 ~ for + if -- 新手訓練系列 ~ 1 | From: [114.41.208.152] | 發表日期 : 2013-04-13 19:48

#include
#include

int main()
{
int x,a,b,c,i;
scanf("%d",&x);
for(i=1;i<=x;i++)
{
  scanf("%d%d%d",&a,&b,&c) !=EOF;
  if(a==1)
  printf("%d\n",b+c);
  if(a==2)
  printf("%d\n",b-c);
  if(a==3)
  printf("%d\n",b*c);
  if(a==4)
  printf("%d\n",b/c);
  
}
return 0;
}
  

 ( 1 <= b , c <= 2147483647 )

 所以b * c會overflow,請改用long long int

 記得%d也要改成%lld

 
ZeroJudge Forum