请用C语言自定义函数的形式编程实现求10名学生1门课程成绩的平均分

请用自定义函数的形式编程实现求10名学生1门课程成绩的平均分。


#include <stdio.h>
float average(float score[], int n) {
    float sum = 0;
    for (int i = 0;i < n;i++) {
        sum += score[i];
    }
    return sum / n;
}
int main() {
    float score[10];
    printf("请输入10名学生的成绩:\n");
    for (int i = 0;i < 10;i++) {
        scanf("%f", &score[i]);
    }
    float avg = average(score, 10);
    printf("10名学生的成绩平均分为:%f\n", avg);
    return 0;
}

上面的代码用C语言无法运行,编译器不支持for 定义循环自变量i,请用C语言帮忙改正代码

修改如下,改动处见注释,供参考:

#include <stdio.h>
float average(float score[], int n) {
    int   i;            // 修改      
    float sum = 0;
    for (i = 0; i < n; i++) {//for (int i = 0; i < n; i++)
        sum += score[i];
    }
    return sum / n;
}
int main() {
    int   i;          // 修改
    float score[10], avg; // 修改
    printf("请输入10名学生的成绩:\n");
    for (i = 0; i < 10; i++) {  //for (int i = 0; i < 10; i++) 修改
        scanf("%f", &score[i]);
    }
    avg = average(score, 10); //float avg = average(score, 10); 修改
    printf("10名学生的成绩平均分为:%f\n", avg);
    return 0;
}

只需要将计算平均值的参数修改为指针类型就可以了,希望对你有帮助。
程序修改如下,

#include <stdio.h>
float average(float *score, int n) {
    float sum = 0;
    for (int i = 0;i < n;i++) {
        sum += score[i];
    }
    return sum / n;
}
int main() {
    float score[10];
    printf("请输入10名学生的成绩:\n");
    for (int i = 0;i < 10;i++) {
        scanf("%f", &score[i]);
    }
    float avg = average(score, 10);
    printf("10名学生的成绩平均分为:%f\n", avg);
    return 0;
}

要问啥?