题目描述
读取 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 位小数。
数据范围 0≤输入数据≤10.0
老样子,直接上AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
double a,b,c,d,y;
cin >> a >> b >> c >> d;
double p=1.0*(2*a+3*b+4*c+d)/10;
cout << "Media: ";
printf("%.1f",p);
cout << endl;
if(p>=7.0)
{
cout << "Aluno aprovado.";
}
else if(p<5.0)
{
cout << "Aluno reprovado.";
}
else
{
cout << "Aluno em exame." << endl;;
cin >> y;
cout << "Nota do exame: ";
printf("%.1f",y);
cout << endl;
double z=1.0*(p+y)/2;
if(z>=5.0) cout << "Aluno aprovado." << endl;
else cout << "Aluno reprovado." << endl;
cout << "Media final: ";
printf("%.1f",z);
}
return 0;
}
留言更下集!