指针问题 这个指针把人整得脑壳都大了

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:11:46
一个二维数组中按学号顺序存放有10个学生的5门成绩,编写一个函数aver,能够输入一个学生学号,计算该生各门课的平均成绩。
实验步骤与要求:
(1)设计函数aver;
(2)在主函数中输入10个学生的5门成绩并输入要查询的学生的学号;
(3)调用函数aver求该生的平均成绩;
(4)在主函数中输出该平均成绩。

我弄不来了,老是错误
#include "stdio.h"
float aver(long num,long order[],int a)
{
int i,j,*a;
float average,sum=0.0;
for(i=0;i<10;i++)
if(num==order[i])
{
printf("The student's serial number you input is:%lf\n",order[i]);
for(j=0;j<5;j++)
sum+=*(*(a+i)+j);
average=sum/5;
}
else printf("Not find");
return average;
}
main()
{
int a[10][5],result;
long order[10],num;
int i,j;
for(i=0;i<10;i++)
{
printf("Please input No.%d student's 5 score\n",i+1);
for(j=0;j<5;j++)
scanf("%f",&a[i][j]);
printf("Please input No.%d student's seria

错误太多,有改动的行都注释标记了,自己对应着看吧
#include "stdio.h"
float aver(long num,long order[],int a[][5]) /**/
{
int i,j;
float average,sum=0.0;
for(i=0;i<10;i++)
if(num==order[i])
{
printf("The student's serial number you input is:%ld\n",order[i]);
for(j=0;j<5;j++)
sum+=*(*(a+i)+j);
average=sum/5.0; /**/
return average;
}
printf("Not find"); /**/
return 0.0;
}

main()
{
int a[10][5]; /**/
float result;
long order[10],num;
int i,j;
for(i=0;i<10;i++)
{
printf("Please input No.%d student's 5 score\n",i+1);
for(j=0;j<5;j++)
scanf("%d",&a[i][j]); /**/
printf("Please input No.%d student's serial number\n",i+1);
scanf("%ld",&order[i]); /**/
}
printf("please input the student's serial number\n");