学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!
附上汇总贴:小猴编程C++ | 汇总-CSDN博客
【题目描述】
读取 4 个数字 N1,N2,N3,N4,这 4 个数字都是保留 1 位小数的浮点数,对应于学生获得的 4 个分数。
这 4 个分数的权重分别为 2,3,4,1,请你计算学生成绩的平均值 X 并输出 Media: X
。其中,学生平均成绩=(2∗N1+3∗N2+4∗N3+N4)/10。
接下来分为以下三种情况:
如果平均值为 7.0 或更高,则输出 Aluno aprovado.
。
如果平均值小于 5.0,则输出 Aluno reprovado.
。
如果平均值大于等于 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 的数据,多包含一个浮点数
【输出】
输出的结果均保留 1 位小数,具体形式参照题目描述和输出样例。
【输入样例】
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
【代码详解】
#include <bits/stdc++.h>
using namespace std;
int main()
{
double a, b, c, d;
cin >> a >> b >> c >> d;
double x = (2*a + 3*b + 4*c + d) / 10;
printf("Media: %.1lf\n", x);
if (x>=7.0) {
cout << "Aluno aprovado." << endl;
} else if (x<5.0) {
cout << "Aluno reprovado." << endl;
} else {
cout << "Aluno em exame." << endl;
double y; cin >> y;
printf("Nota do exame: %.1lf\n", y);
double z = (x + y) / 2;
if (z>=5.0) cout << "Aluno aprovado." << endl;
else cout << "Aluno reprovado." << endl;
printf("Media final: %.1lf\n", z);
}
return 0;
}
【运行结果】
2.0 4.0 7.5 8.0
Media: 5.4
Aluno em exame.
6.4
Nota do exame: 6.4
Aluno aprovado.
Media final: 5.9