exercise A的程序怎么写
时间: 2024-10-21 15:02:14 浏览: 20
aws-exercise-a
Exercise A 要求计算加权平均值(GPA)。以下是完成该任务的完整代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int credit[3], grade[3];
int total_credits = 0;
int weighted_sum = 0;
// 输入学分和成绩
for (int i = 0; i < 3; i++) {
scanf("%d", &credit[i]);
}
for (int i = 0; i < 3; i++) {
scanf("%d", &grade[i]);
}
// 计算总学分和加权和
for (int i = 0; i < 3; i++) {
total_credits += credit[i];
weighted_sum += credit[i] * grade[i];
}
// 计算GPA并四舍五入
double gpa = (double)weighted_sum / total_credits;
int rounded_gpa = (int)round(gpa);
// 输出结果
printf("%d\n", rounded_gpa);
return 0;
}
```
### 解释
1. **输入部分**:
- 使用两个数组 `credit` 和 `grade` 分别存储每门课程的学分和成绩。
- 通过两个 `for` 循环分别读取学分和成绩。
2. **计算部分**:
- 初始化 `total_credits` 和 `weighted_sum` 为 0。
- 再次使用一个 `for` 循环遍历每门课程,累加总学分和加权和。
3. **输出部分**:
- 计算 GPA:`gpa = (double)weighted_sum / total_credits`。
- 使用 `round` 函数将 GPA 四舍五入到最接近的整数。
- 输出最终的 GPA。
### 注意事项
- `round` 函数需要包含 `<math.h>` 头文件。
- 最终的 GPA 需要转换为整数并输出。
希望这段代码能帮助你完成 Exercise A。如果有任何问题或需要进一步解释,请随时提问。
阅读全文