7-2 绩点计算 - 《C++编程基础及应用》- 习题3-3
分数 10
全屏浏览
切换布局
作者 海洋饼干叔叔
单位 重庆大学
某大学的GPA(绩点)计算规则如下:
课程百分制成绩90分对应绩点4.0,超过90分的,按90分计;如不足90分,则课程绩点 = 4.0 * 分数/90。
学生综合绩点按该生已修的各门课程绩点结合学分加权平均而得。
现有步步同学入学后的已修课程(共5门)成绩表如下,请编程计算其GPA。
输入格式:
第1门课程百分制分数 学分
第2门课程百分制分数 学分
第3门课程分制分数 学分
第4门课程百分制分数 学分
第5门课程百分制分数 学分
说明:百分制分数和学分均为整数。
输出格式:
请参考输出样例。其中,GPA值保留两位小数。
输入样例:
78 3
91 5
65 4
95 3
60 2
输出样例:
GPA:3.49
提示:从键盘读取输入的方法,请参考教材后续章节。
答案:
#include<stdio.h>
int main(){
float A,a,B,b,C,c,D,d,E,e,g1,g2,g3,g4,g5;
scanf("%f %f",&A,&a);
scanf("%f %f",&B,&b);
scanf("%f %f",&C,&c);
scanf("%f %f",&D,&d);
scanf("%f %f",&E,&e);
//计算
if(A>89){g1=4.0*a/(a+b+c+d+e);}
else{g1=4.0*A/90*a/(a+b+c+d+e);}
if(B>89){g2=4.0*b/(a+b+c+d+e);}
else{g2=4.0*B/90*b/(a+b+c+d+e);}
if(C>89){g3=4.0*c/(a+b+c+d+e);}
else{g3=4.0*C/90*c/(a+b+c+d+e);}
if(D>89){g4=4.0*d/(a+b+c+d+e);}
else{g4=4.0*D/90*d/(a+b+c+d+e);}
if(E>89){g5=4.0*e/(a+b+c+d+e);}
else{g5=4.0*E/90*e/(a+b+c+d+e);}
//printf("%f\n",g1);printf("%f\n",g2);printf("%f\n",g3);printf("%f\n",g4);printf("%f\n",g5);
float GPA=g1+g2+g3+g4+g5;
printf("GPA:%.2f",GPA);
return 0;
}