请用自定义函数的形式编程实现求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;
}
要问啥?