有一个班,三个学生,各学四门课,计算总平均分数以及第n个学生的成绩。要求:用3*4的二维数组存取三个学生四门课的成绩,输入格式如下所示(成绩情况如输入样例所示),并采用指针的办法解决问题。 要求:使用函数原型:void average(float* p, int n) void search(float(*p)[4], int n) 输入格式: floatscore[3][4] = { {65,67,70,60},{80,87,90,81},{90,99,100,98} }; 输出格式: printf("average=%5.2f\n",aver); printf("%5.2f",*(*(p + n) + i)); 输入样例: floatscore[3][4] = { {65,67,70,60},{80,87,90,81},{90,99,100,98} }; 输出样例: average=82.25 the score of No.2 are: 90.00 99.00 100.00 98.00
时间: 2023-09-18 17:15:53 浏览: 76
好的,让我来回答你的问题。
这是一个经典的C语言数组题目,可以使用指针的方法来解决。首先定义一个3*4的二维数组,表示三个学生四门课程的成绩。然后定义两个函数,一个用来计算平均分数,一个用来查找某个学生的成绩。
这是代码实现:
```c
#include <stdio.h>
void average(float* p, int n);
void search(float(*p)[4], int n);
int main()
{
float score[3][4] = { {65,67,70,60},{80,87,90,81},{90,99,100,98} };
average(&score[0][0], 12);
search(score, 1);
return 0;
}
void average(float* p, int n)
{
float sum = 0;
for (int i = 0; i < n; i++) {
sum += *(p + i);
}
float aver = sum / n;
printf("average=%5.2f\n", aver);
}
void search(float(*p)[4], int n)
{
printf("the score of No.%d are: ", n + 1);
for (int i = 0; i < 4; i++) {
printf("%5.2f ", *(*(p + n) + i));
}
}
```
在`main()`函数中,我们首先定义一个3*4的二维数组`score`,然后分别调用`average()`和`search()`函数来计算平均分数和查找某个学生的成绩。
在`average()`函数中,我们使用指针`p`来遍历整个数组,并累加所有成绩的和。最后计算平均分数并输出结果。
在`search()`函数中,我们使用指针`p`来查找某个学生的成绩,并依次输出每门课的成绩。
输出结果为:
```
average=82.25
the score of No.2 are: 80.00 87.00 90.00 81.00
```
注意,这里输出的学生序号是从1开始的,但是实际上在代码中我们使用的是从0开始的索引。因此在调用`search()`函数时,我们传递的参数为1,表示查找第二个学生的成绩。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)