从键盘输入某班学生 c 语言课的成绩(已知该班人数为 40 人),要求分别定义三个子函数分别进行数组输入、输出和求平均分。
时间: 2023-05-31 12:17:46 浏览: 1019
### 回答1:
可以定义三个子函数来实现从键盘输入某班学生 c 语言课的成绩,分别是:
1. 输入数组函数:用于从键盘输入学生的成绩,将成绩存储到数组中。
2. 输出数组函数:用于将数组中的成绩输出到屏幕上,方便查看。
3. 求平均分函数:用于计算数组中所有成绩的平均分,并返回平均分值。
下面是具体的实现方法:
1. 输入数组函数:
```c
void input(int score[], int n)
{
int i;
for (i = ; i < n; i++)
{
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%d", &score[i]);
}
}
```
2. 输出数组函数:
```c
void output(int score[], int n)
{
int i;
printf("该班学生的成绩为:\n");
for (i = ; i < n; i++)
{
printf("%d ", score[i]);
}
printf("\n");
}
```
3. 求平均分函数:
```c
float average(int score[], int n)
{
int i;
float sum = ;
for (i = ; i < n; i++)
{
sum += score[i];
}
return sum / n;
}
```
在主函数中,可以先定义一个长度为 40 的数组来存储学生的成绩,然后分别调用输入、输出和求平均分函数来完成任务:
```c
int main()
{
int score[40];
input(score, 40);
output(score, 40);
printf("该班学生的平均分为:%.2f\n", average(score, 40));
return ;
}
```
### 回答2:
在编写求班级学生C语言成绩的程序中,需要定义好三个子函数:输入函数、输出函数和平均分函数。下面依次讲解这三个函数的定义和实现。
1. 数组输入函数
在程序中,需要定义一个数组作为存储各个学生的成绩,然后通过键盘输入的方式向数组中记录学生的成绩。因此,需要先编写一个数组输入函数,以便接受各个学生的成绩。
下面是数组输入函数的定义和实现:
void InputArray(int score[], int n)
{
int i;
printf("请输入 %d 个成绩:\n", n);
for (i = 0; i < n; i++)
{
printf("第 %d 个:", i + 1);
scanf("%d", &score[i]);
}
}
在该函数中,score[]为存储学生成绩的数组,n为班级人数,即数组元素个数。该函数通过循环,从键盘输入的方式逐一读入各个学生的成绩,并存储到score[]数组中。
2. 数组输出函数
与数组输入函数类似,需要定义一个数组输出函数,以便将存储在数组中的成绩,逐一输出到屏幕上。
下面是数组输出函数的定义和实现:
void OutputArray(int score[], int n)
{
int i;
printf("班级成绩如下:\n");
for (i = 0; i < n; i++)
{
printf("第 %d 个成绩:%d\n", i + 1, score[i]);
}
}
在该函数中,score[]为存储学生成绩的数组,n为班级人数,即数组元素个数。该函数同样通过循环的方式,逐一读出score[]数组中的元素,并打印到屏幕上。
3. 平均分函数
最后,需要编写一个求平均分的函数,以便计算出班级学生的成绩平均分。
下面是平均分函数的定义和实现:
double AverageScore(int score[], int n)
{
int i, sum = 0;
double average;
for (i = 0; i < n; i++)
{
sum += score[i];
}
average = (double)sum / n;
return average;
}
在该函数中,score[]为存储学生成绩的数组,n为班级人数,即数组元素个数。该函数通过循环,从score[]数组中读取各个成绩,然后进行求和并计算平均值,最终将平均分作为返回值返回。
在主函数中,可以调用上述三个函数,完成对班级学生C语言成绩的输入、输出和平均分计算,具体实现如下:
int main()
{
int score[40], n = 40;
InputArray(score, n);
OutputArray(score, n);
printf("班级平均成绩为:%f\n", AverageScore(score, n));
return 0;
}
在该程序中,首先定义了一个包含40个元素的数组score[],然后调用数组输入函数InputArray(),从键盘输入各个学生成绩。随后调用数组输出函数OutputArray(),将学生成绩逐一打印到屏幕上。最后调用平均分函数AverageScore(),计算出班级学生的平均成绩,并打印到屏幕上。
### 回答3:
本题要求输入某班 40 位学生 c 语言课的成绩,并分别定义三个子函数进行数组输入、输出和求平均分。接下来,本文将从三个方面逐个进行介绍。
一、数组输入
我们可以通过一个函数来进行数组输入。主函数定义一个数组,并调用输入函数来输入数组中的成绩。该函数的定义过程如下:
```C
void input(int arr[], int n) {
for(int i=0; i<n; i++) {
printf("请输入学生%d的成绩:", i+1);
scanf("%d", &arr[i]);
}
}
```
其中,`arr`是主函数中定义的数组名,`n`是数组的大小。循环从 0 到 n-1,用 `scanf` 从键盘输入每个学生的成绩,并将其存入数组 `arr` 中。循环结束后,函数也会相应地结束,将数组中的数据传回主函数。
二、数组输出
同样,我们可以通过一个函数来实现数组的输出。该函数的定义过程如下:
```C
void output(int arr[], int n) {
for(int i=0; i<n; i++) {
printf("学生%d的成绩为:%d\n", i+1, arr[i]);
}
}
```
其中,`arr`是主函数中定义的数组名,`n`是数组的大小。循环从 0 到 n-1,用 `printf` 输出每个学生对应的成绩。循环结束后,函数也会相应地结束,此时主函数中的数组并不会改变。
三、求平均分
我们可以通过一个函数来计算数组中所有成绩的平均分。该函数的定义过程如下:
```C
float average(int arr[], int n) {
int sum = 0;
for(int i=0; i<n; i++) {
sum += arr[i];
}
return sum*1.0/n;
}
```
其中,`arr`是主函数中定义的数组名,`n`是数组的大小。该函数用一个变量 `sum` 来记录数组中所有成绩的总和,并且循环从 0 到 n-1,将每个学生对应的成绩累加进去。最后将总和除以 n,即可得到平均分,值得注意的是,这里需要将分母换成浮点数,否则输出的结果将会是整数。
综上,本文介绍了如何通过三个子函数实现输入、输出和平均分的计算,通过上述函数的定义,我们可以得到程序如下:
```C
#include <stdio.h>
void input(int arr[], int n) {
for(int i=0; i<n; i++) {
printf("请输入学生%d的成绩:", i+1);
scanf("%d", &arr[i]);
}
}
void output(int arr[], int n) {
for(int i=0; i<n; i++) {
printf("学生%d的成绩为:%d\n", i+1, arr[i]);
}
}
float average(int arr[], int n) {
int sum = 0;
for(int i=0; i<n; i++) {
sum += arr[i];
}
return sum*1.0/n;
}
int main() {
int arr[40]; //定义一个数组
input(arr, 40); //调用输入函数
output(arr, 40); //调用输出函数
printf("平均分为:%.2f", average(arr, 40)); //调用求平均分函数
return 0;
}
```
阅读全文