djdgf4 发表于 2022-7-3 21:55

用函数实现班级高等数学、大学英语II、C语言程序设计三门课成绩的输入,分别计算并...

#include<stdio.h>
/*该函数实现高等数学、大学英语II、C语言程序设计三门课程的成绩输入
* 输入的成绩存放在score数组中,返回学生人数
*/
int input_2(float score[])
{
    // 请在下面添加代码
    // ********** Begin **********
    int i,j,n=0;
    for( i = 0 ;; i++ ){
      for( j = 0 ;j < 3 ; j++ )
    {
      if( score == -1) break;
      scanf("%f,",&score);
    }
    n++;
    }
    return n;
    // **********End**********
}

/*该函数用来实现分别求高等数学、大学英语II、C语言程序设计三门课程的平均成绩
* score为学生成绩
* n为该班学生人数
* 求得的平均成绩存放在avg数组中
*/
void average_2(float score[],float avg, int n)
{
    // 请在下面添加代码
    // ********** Begin **********
    int i,j;
    float sum = 0;
    for( j = 0 ; j < 3 ; j++ ){
      for( i = 0 ; i < n ; i++ ){
            sum += score;
    }
    avg = sum / n;
    sum = 0 ;
    }
    // **********End**********
}

/*该函数用来实现输出学生的平均成绩
* avg分别为高等数学、大学英语II、C语言程序设计三门课的平均成绩
* n为该班学生人数
*/
void output_2(float avg,int n)
{
    // 请在下面添加代码
    // ********** Begin **********
    printf("张小兵同学所在班级一共有%d名同学,该班的平均成绩如下:\n",n);
    printf("高等数学的平均成绩为%f\n",avg);
    printf("大学英语II的平均成绩为%f\n",avg);
    printf("C语言程序设计的平均成绩为%f\n",avg);
    // **********End**********
}
//用函数实现班级高等数学、大学英语II、C语言程序设计三门课成绩的输入,分别计算并输出三门课的平均成绩。
这是平台的题目,没给出main函数
始终没有输出,我推测是输入函数出了问题,但是没搞明白在哪儿

robboter 发表于 2022-7-3 23:19

这是educoder平台的题,把地址贴出来,可以帮你测试。

SLCoCo 发表于 2022-7-3 23:32

本帖最后由 SLCoCo 于 2022-7-3 23:36 编辑

很久没学了不知道回答的对不对仅供参考
首先你这里输入成绩的时候是数字加上一个逗号那到最后一个数不就也要有逗号,你改成
scanf_s("%f,%f,%f", &score, &score, &score);
这样试试。
其次就是你这里判断输入的值是否为-1的时候在输入之前这样是不太合理的
还要就是他这里样例的结果是保留两位小数。所以输出平均数的时候用%.2f

p紫气东来 发表于 2022-7-4 06:43

这个比较厉害的了

bj9ye666 发表于 2022-7-4 06:50

好家伙论坛真是人才辈出啊666

djdgf4 发表于 2022-7-4 13:56

robboter 发表于 2022-7-3 23:19
这是educoder平台的题,把地址贴出来,可以帮你测试。

https://www.educoder.net/tasks/yx34bvfihtc6
太感谢啦

djdgf4 发表于 2022-7-4 14:11

SLCoCo 发表于 2022-7-3 23:32
很久没学了不知道回答的对不对仅供参考
首先你这里输入成绩的时候是数字加上一个逗号那到最后一个数不就也 ...

为什么判断-1要放在后面呢?
好像 放在后面的话我看是会把-1也输入数组。但是因为平均值函数里没用到-1,所以我没把-1加进去

SLCoCo 发表于 2022-7-5 17:41

本帖最后由 SLCoCo 于 2022-7-5 17:47 编辑

djdgf4 发表于 2022-7-4 14:11
为什么判断-1要放在后面呢?
好像 放在后面的话我看是会把-1也输入数组。但是因为平均值函数里没用到-1 ...你不输入的话你判断的值要从哪里来。

vtor 发表于 2022-7-15 15:43

行13和行14应该调换一下吧
页: [1]
查看完整版本: 用函数实现班级高等数学、大学英语II、C语言程序设计三门课成绩的输入,分别计算并...