一道关于指针的题目,差最后一步;百思求解
题目要求:指针的作业题。一个班有4个学生,五门课,求1:第一门课的平均分 2:找出平均成绩在90分以上,或全部课程成绩在85分以上的学生。用函数实现 ;我的程序如下:
程序代码:#include "stdio.h"
#include "conio.h"
#include "string.h"
float top(float(*p)[5],int n)
{
float sum=0,ave=0;
int i,j,a=0;
for(i=0;i<n;i++)
{ sum=0;
a=0;
for(j=0;j<n+1;j++)
{
if(*(*(p+i)+j)>=85) a++;
sum=sum+*(*(p+i)+j);}
ave=sum/(n+1);
if(ave>=90) printf("the student number ave>90 is:%d\n",i) ;
else if(ave<90&&a==5) printf("the student number>85 is:%d\n",i) ;
}
}
float average(float(*p)[5],int n)
{
int i,j=0;
float ave=0,sum=0;
for(i=0;i<n;i++)
sum=sum+*(*(p+i)+j);
ave=sum/n;
printf("average=%5.2f\n",ave);
}
main()
{
float a[4][5]={{70,75,89,64,51},{89,92,88,97,93},{62,51,28,75,59},{85,86,87,89,88}};
float average(float(*p)[5],int n);
float top(float(*p)[5],int n);
int i,m;
average(a,4);
top(a,4);
getch();
}问题是,这个程序运行会一闪而过。 但是,如果在主程序中,只用一个函数,如average(a,4)或top(a,4),都可以得到正确结果,这二个函数一起运行,
就会闪过去。
求解。
谢谢各位









