C++系统性学习之计算绩点
在本篇博客中,我们将学习如何使用C++编写一个程序,根据给定的课程成绩和学分,计算小A的绩点。
问题描述
我们的任务是编写一个C++程序,接受用户输入的课程数量和每门课的绩点以及学分,然后计算小A的绩点,并输出结果。小A的绩点计算公式如下:
解决方案
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
// 输入课程数量
int n;
cout << "请输入课程数量: ";
cin >> n;
double sum_sci = 0.0;
double sum_gpai_times_sci = 0.0;
// 循环读取每门课的绩点和学分,并累加
for (int i = 0; i < n; ++i) {
double gpai, sci;
cout << "请输入第 " << i + 1 << " 门课的绩点和学分: ";
cin >> gpai >> sci;
sum_sci += sci;
sum_gpai_times_sci += gpai * sci;
}
// 计算绩点并输出结果(四舍五入保留1位小数)
double gpa = sum_gpai_times_sci / sum_sci;
cout << fixed << setprecision(1) << gpa << endl;
return 0;
}