60分求助

B3795 [NICA #1] 成绩

@[junbeder](/user/1394732) `FAIL` 不是 `PAIL`!
by ZMQ_Ink6556 @ 2024-08-16 13:07:09


1. 所有变量要定义为 ```double``` 类型或进行特色判断时强制转换为 ```double``` 型,因为整数类型除以整数类型结果也是整数,可能有精度问题。 1. ```num``` 统计的是及格的科目数,传统型判断是不及格的科目不超过 $1$ 个,所以判断条件应当为 ```num>=2```(及格的科目不少于 $2$ 个)。 1. PAIL 写错了,应当为 FAIL。 AC code: ```cpp #include<iostream> using namespace std; double t,x,y,a,b,c,d,num; int main(){ cin>>x>>y>>t>>a>>b>>c; if(x>=60) num++; if(y>=60) num++; if(t>=60) num++; if(num>=2) cout<<"PASS"<<endl; else cout<<"FAIL"<<endl; if((((x*a)+(y*b)+(t*c))/(a+b+c))>=60) cout<<"PASS"<<endl; else cout<<"FAIL"<<endl; return 0; } ```
by ___Segment___ @ 2024-08-16 13:07:15


@[junbeder](/user/1394732) - 第 $9$ 行,`>0` 改为 `>1`。 - 第 $12$ 行,`PAIL` 改为 `FAIL`。 - 第 $16$ 行,`PAIL` 改为 `FAIL`。 AC code: ```cpp #include<iostream> using namespace std; long long t,x,y,a,b,c,d,num; int main(){ cin>>x>>y>>t>>a>>b>>c; if(x>=60) num++; if(y>=60) num++; if(t>=60) num++; if(num>1) cout<<"PASS"<<endl; else cout<<"FAIL"<<endl; if((((x*a)+(y*b)+(t*c))/(a+b+c))>=60) cout<<"PASS"<<endl; else cout<<"FAIL"<<endl; return 0; } ```
by ZMQ_Ink6556 @ 2024-08-16 13:12:13


@[chenrongqing](/user/798795) 至少这题没有涉及精度问题。
by ZMQ_Ink6556 @ 2024-08-16 13:12:54


|