【问题描述】用指针作参数编写函数void Calc(float s[], int n, float *ave, float *fail),计算n个同学的某科考试成绩s的平均分ave和不及格率fail。在main函数中进行数据输入和输出。 【输入形式】 n个成绩, n设为10, 数据之间用空格隔开。 【输出形式】输出: ave=? , fail=?。结果保留小数点2位。 【样例输入】81 86 75 73 90 92 66 53 42 35 【样例输出】ave=69.30,fail=0.30
时间: 2024-02-11 17:08:00 浏览: 66
以下是代码实现:
```c
#include <stdio.h>
void Calc(float s[], int n, float *ave, float *fail);
int main() {
float s[10];
float ave, fail;
for (int i = 0; i < 10; i++) {
scanf("%f", &s[i]);
}
Calc(s, 10, &ave, &fail);
printf("ave=%.2f,fail=%.2f\n", ave, fail);
return 0;
}
void Calc(float s[], int n, float *ave, float *fail) {
float sum = 0;
int fail_count = 0;
for (int i = 0; i < n; i++) {
sum += s[i];
if (s[i] < 60) {
fail_count++;
}
}
*ave = sum / n;
*fail = (float)fail_count / n;
}
```
程序输入样例为:
```
81 86 75 73 90 92 66 53 42 35
```
程序输出结果为:
```
ave=69.30,fail=0.30
```
解释:输入的10个成绩的平均分为69.3,不及格率为0.3。
阅读全文