用函数编程统计平均成绩。要求在主函数中输入学生成绩,输入负数时,结束输入,调用子函数average()计算平均成绩,并输出结果。 函数原型:int average(int score[],int n) ****要求输入提示信息为:"input score:" ****输出格式要求为: "total students are %d\n" "average score is %d\n"
时间: 2023-05-31 13:18:26 浏览: 482
### 回答1:
好的,以下是用函数编程统计平均成绩的代码:
#include <stdio.h>
int average(int score[], int n); // 函数原型
int main() {
int score[100]; // 存储学生成绩的数组
int n = 0; // 学生人数
int input; // 输入的成绩
printf("input score:"); // 输入提示信息
while (scanf("%d", &input) != EOF && input >= 0) { // 当输入不是负数时,继续输入
score[n++] = input; // 将输入的成绩存入数组中
}
int avg = average(score, n); // 调用子函数计算平均成绩
printf("total students are %d\n", n); // 输出学生人数
printf("average score is %d\n", avg); // 输出平均成绩
return 0;
}
int average(int score[], int n) {
int sum = 0; // 成绩总和
for (int i = 0; i < n; i++) {
sum += score[i]; // 求成绩总和
}
return sum / n; // 返回平均成绩
}
### 回答2:
函数编程是一种强大的编程方法,它将代码分解为独立的、可重用的函数模块,以便更好地组织和处理数据。使用函数编程统计平均成绩是非常简单的,只需按照以下步骤进行:
1. 在主函数中输入学生成绩,当输入负数时,停止输入。
2. 定义一个名为average()的函数,接受两个参数——学生成绩和总人数。让函数计算平均成绩并返回结果。
3. 在主函数中调用average()函数。将学生成绩数组和总人数作为参数传递给函数。
4. 在主函数中输出统计结果。
按照上述步骤,我们可以编写以下代码:
#include <stdio.h>
int average(int score[], int n);
int main() {
int cnt = 0, score[100], s, sum = 0;
printf("input score: ");
while (scanf("%d", &s) == 1 && s >= 0) {
score[cnt++] = s;
sum += s;
}
printf("total students are %d\n", cnt);
printf("average score is %d\n", average(score, cnt));
return 0;
}
int average(int score[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += score[i];
}
return sum / n;
}
上面的代码中,我们定义了一个名为average()的函数,该函数接受两个参数——学生成绩和总人数。函数内部计算平均成绩并返回结果。在主函数中,我们首先输入学生成绩,使用while循环读取用户输入,当输入负数时退出循环并计算总体人数和总成绩。然后,我们调用average()函数,将学生成绩数组和总人数作为参数传递给该函数,计算平均成绩并输出结果。
总之,使用函数编程统计平均成绩非常简单。它可以帮助我们将代码分解为更好的组件,使得代码更容易管理和重用。
### 回答3:
本题需要用到函数编程来实现统计平均成绩,主函数中输入学生成绩,负数时结束输入,然后调用子函数average()计算平均成绩,并输出总学生数、平均成绩。下面是具体实现过程:
1. 首先需要定义一个函数原型int average(int score[],int n),以计算平均成绩。
2. 在主函数中,先定义一个数组来存储学生成绩,具体实现方法如下:
```
int score[100]; // 定义一个长度为100的数组来存储学生成绩
int n = 0; // 初始学生数为0
cout << "input score:" << endl; // 输入提示信息
// 循环读入学生成绩,直到输入负数结束
do{
cin >> score[n];
if(score[n] >= 0){
n++; // 如果输入成绩大于等于0,学生数加1
}
}while(score[n-1] >= 0); // 输入负数时结束输入
```
3. 调用子函数average()计算平均成绩,具体实现方法如下:
```
int total = 0; // 初始化总成绩为0
for(int i=0; i<n; i++){
total += score[i]; // 计算总成绩
}
int aver = average(score, n); // 调用函数average()计算平均成绩
cout << "total students are " << n << endl; // 输出总学生数
cout << "average score is " << aver << endl; // 输出平均成绩
```
4. 最后是子函数average()的实现,具体实现方法如下:
```
int average(int score[], int n){
int total = 0; // 初始化总成绩为0
for(int i=0; i<n; i++){
total += score[i]; // 计算总成绩
}
return total/n; // 返回平均成绩
}
```
综上,通过以上步骤,即可实现用函数编程统计平均成绩,并输出结果。
阅读全文