#include <bits/stdc++.h>
using namespace std;
struct Student {
int id; //学号
int a; //学业成绩
int b; //素质拓展成绩
double zh; //综合分数
int getsum() { //学业成绩和素质拓展成绩的总分
return a+b;
}
};
bool isexcellent(Student s) {
return s.getsum() >140 && s.zh>=800;
};
int main()
{
int n;
cin>>n;
Student s[n]; //定义一个结构体数组对象s[n]
for(int i=0;i<n;i++) {
cin>>s[i].id>>s[i].a>>s[i].b;
s[i].zh=s[i].a*7+s[i].b*3;
if(isexcellent(s[i]))
cout<<"Excellent"<<endl;
else
cout<<"Not excellent"<<endl;
}
}
我们会发现s[i].zh与800比较的时候,左边是double类型,右边是int类型的800,这时会自动将int转换为double类型,再进行比较.因此如果s[i].zh是800.0,800.0>=800是有效的,且为true.