C语言编写程序一个小组有4个学生,每个学生有3门课程:语文、数学、英语的成绩(0~100的整数)。使用4行3列的二维数组存储这些成绩。计算每个学生三门课程的平均成绩并输出(精确到小数点后2位)。要求使用指针进行实现。
时间: 2024-02-22 20:55:35 浏览: 97
好的,以下是使用指针实现计算每个学生三门课程平均成绩的代码:
```c
#include <stdio.h>
const int ROW = 4;
const int COL = 3;
void calcAverage(int (*p)[COL], int size);
int main()
{
int scores[ROW][COL] = {
{80, 75, 90},
{85, 90, 78},
{92, 88, 82},
{87, 76, 90}
};
calcAverage(scores, ROW);
return 0;
}
void calcAverage(int (*p)[COL], int size)
{
double sum;
for (int i = 0; i < size; i++)
{
sum = 0;
for (int j = 0; j < COL; j++)
{
sum += *(*(p + i) + j);
}
printf("学生%d的平均成绩为:%.2f\n", i + 1, sum / COL);
}
}
```
代码中,我们定义了一个 `calcAverage()` 函数,用于计算每个学生三门课程的平均成绩并输出。该函数使用了一个指向二维数组的指针 `p`,并通过指针遍历数组元素来进行计算。
在 `main()` 函数中,我们定义了一个 4 行 3 列的二维数组 `scores`,并将其作为参数传递给 `calcAverage()` 函数进行计算。
输出时使用了 `printf()` 函数,以保留小数点后两位。
希望能帮到你!
阅读全文