寒假之前做这道题也卡了,但是一直也不知道为什么,寒假之后又重新做了这道题,这次很快找出来了原因,卡在了int和double型上。
先贴代码
#include<stdio.h>
int main()
{
int n;
int i;
double standard;
int arr[20][2];
double a;
double b,c;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&arr[i][0]);
scanf("%d",&arr[i][1]);
}
for(i=0;i<n;i++)
{
standard=(arr[i][0]-100) *0.9;
a=arr[i][1]/2.0;
b=a-standard;
c=0.1*standard;
if(b<0){
b=-1*b;
if(b<c){
printf("You are wan mei!\n");
}else{
printf("You are tai shou le!\n");
}
}else {
if(b<c){
printf("You are wan mei!\n");
}else{
printf("You are tai pang le!\n");
}
}
}
return 0;
}
因为一开始都用int,导致小数部分被忽略,出现输出错误,改正之后就全部通过了。