You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言编程题:计算总额外学分(超出100分部分)

问题描述

给定包含NUM_VALS个考试分数的数组testGrades,请编写一个for循环,将sumExtra设置为总额外学分。满分是100分,超过100分的部分即为额外学分。示例:若testGrades = {101, 83, 107, 90},则sumExtra = 8(1 + 0 + 7 + 0 = 8)。请补全以下C语言程序框架:

#include <stdio.h>

int main(void) {
   const int NUM_VALS = 4;
   int testGrades[NUM_VALS];
   int i;
   int sumExtra = -9999; // Assign sumExtra with 0 before your for loop

   for (i = 0; i < NUM_VALS; ++i) {
      scanf("%d", &(testGrades[i]));
   }

   /* Your solution goes here  */

   printf("sumExtra: %d\n", sumExtra);
   return 0;
}
解决方案

首先需要将sumExtra初始化为0,再遍历数组逐个判断分数是否超出满分,累加额外学分:

// 初始化sumExtra为0,确保从正确的起点累加
sumExtra = 0;
// 遍历所有考试分数计算额外学分总和
for (i = 0; i < NUM_VALS; ++i) {
    // 仅当分数超过100时,累加超出部分
    if (testGrades[i] > 100) {
        sumExtra += testGrades[i] - 100;
    }
}

将上述代码替换到原程序的/* Your solution goes here */位置即可。

代码说明

  • sumExtra = 0;:修正初始值,避免使用错误的默认值影响计算结果
  • 循环逻辑:逐个检查分数,仅对超过100分的部分进行累加,低于或等于100分的分数不产生额外学分

内容的提问来源于stack exchange,提问作者sara miller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 18:05:33