这道题比较难写,但描述给了我很大便捷,直接照描述复制输出就行
题目描述
读取 4 个数字 N1,N2,N3,N4,这 4 个数字都是保留 1 位小数的浮点数,对应于学生获得的 4 个分数。
这 4 个分数的权重分别为 2,3,4,1,请你计算学生成绩的平均值 X 并输出 Media: X。
接下来分为以下三种情况:
1.如果平均值为 7.0 或更高,则输出 Aluno aprovado.
。
2.如果平均值小于 5.0,则输出 Aluno reprovado.
。
3.如果平均值大于等于 5.0 并且小于 7.0,则输出 Aluno em exame.
,并再读取一个数字 Y,然后输出Nota do exame: Y
。接下来重新计算平均值 Z=(X+Y)/2,如果 Z 大于或等于 5.0,则输出 Aluno aprovado.
,否则输出 Aluno reprovado.
。最后输出 Media final: Z
,表示学生的最终成绩。
输入格式
输入中包含四个浮点数,表示学生的四个成绩。
也有部分满足情况 3 的数据,多包含一个浮点数。
输出格式
输出的结果,具体形式参照题目描述和输出样例。
样例
输入:
2.0 4.0 7.5 8.0
6.4
输出:
Media: 5.4
Aluno em exame.
Nota do exame: 6.4
Aluno aprovado.
Media final: 5.9
输入2:
2.0 6.6 4.0 9.0
输出2:
Media: 4.9
Aluno reprovado.
输入3
9.0 4.0 8.5 9.0
输出3
Media: 7.3
Aluno aprovado.
解法1(cout法)
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int main(){
double a,b,c,d,e,f,g;
cin>>a>>b>>c>>d;
f=(2*a+3*b+4*c+d)/(2+3+4+1);
printf("Media: %.1lf\n",f);
if(f>=7.0)cout<<"Aluno aprovado."<<endl;
else if(f<5.0)cout<<"Aluno reprovado."<<endl;
else{
cout<<"Aluno em exame."<<endl;
cin>>e;
printf("Nota do exame: %.1lf\n",e);
g=(e+f)/2;
if(g>=5.0)cout<<"Aluno aprovado."<<endl;
else cout<<"Aluno reprovado."<<endl;
printf("Media final: %.1lf\n",g);
}
return 0;
}
解法2(填写!(printf法))
C++ 代码
#inc____<bits/stdc++.h>
us______mespace std;
int m____{
d___le a,b,c_____f,g;
ci__>____>_____;
f=(2*a+3_______d)___+3+4____
______("Media: %__lf __"__);
if(f>=7.0)______("Aluno aprovado.__");
else if(f<5.0)_______"Aluno reprovado.__"__
else{
_______"Aluno em exame.__"__
___>>e;
pr_____"Nota do exame: ___l_ __",__;
_=(e+_)__;
if(g_____)cout<<"Aluno aprovado."<<endl;
else _________luno repro____._n"_;
p__n____Media fina__ ___l_ \____);
_
re__rn _;
}
椰丝
我真真真真真牛啊!
哈哈
太爽啦