6-2 输入学号查找学生 分数 10 全屏浏览题目 切换布局 作者 叶斌 单位 成都信息工程大学 函数根据键盘输入的一个学号,t查找该学生是否存在,若存在,则输出其平均成绩,若不存在,则显示“not Find!”。 函数接口定义: float aver(int (*pStu)[7], int stuNo); pStu的第1列用于存放学生的学号,后面6列存放学生的六门功课成绩 写出相应的代码
时间: 2023-12-10 22:41:58 浏览: 349
下面是相应的代码实现:
```c
#include <stdio.h>
float aver(int (*pStu)[7], int stuNo) {
int i;
float sum = 0;
for (i = 0; i < 6; i++) {
sum += pStu[stuNo][i+1];
}
return sum / 6;
}
int main() {
int stu[5][7] = {
{1001, 98, 87, 93, 91, 89, 95},
{1002, 88, 89, 91, 97, 94, 90},
{1003, 78, 80, 85, 86, 83, 79},
{1004, 68, 76, 75, 72, 79, 71},
{1005, 98, 97, 99, 99, 96, 95}
};
int stuNo, i, j;
float avg;
printf("请输入学号:");
scanf("%d", &stuNo);
for (i = 0; i < 5; i++) {
if (stu[i][0] == stuNo) {
avg = aver(stu, i);
printf("该学生的平均成绩为:%.2f\n", avg);
break;
}
}
if (i == 5) {
printf("not Find!\n");
}
return 0;
}
```
代码的具体实现思路如下:
首先定义一个二维数组 `stu`,用于存放学生的学号和六门功课成绩。然后通过键盘输入一个学号 `stuNo`,在 `stu` 数组中查找是否存在该学号对应的学生。如果存在,调用 `aver` 函数计算该学生的平均成绩并输出;如果不存在,则输出“not Find!”。 `aver` 函数的实现是通过循环计算该学生的六门功课成绩之和,最后除以 6 得到平均成绩。
需要注意的是,`pStu` 参数是一个指向二维数组的指针,形式上类似于二维数组。在函数内部可以通过 `pStu[stuNo][i+1]` 访问该学生的第 i+1 门功课成绩。
阅读全文