#include "stdio.h"
#include "stdlib.h"
//查找学生的平均分
void FinStundentlev(int (*p)[4],int n)
{
double sum=0;
for (int i=0;i<n;i++)
{
for (int j=0;j<4;j++)
{
sum+=(*(*(p+i)+j));
//sum=sum+p[i][j];
}
}
double lev=0;
lev=sum/(n*4);
printf("平均分=%f\n",lev);
}
//根据输入查找学生的成绩
void FinNumberStu(int (*p)[4],int number)
{
printf("您要查询的是第%d个学生的成绩\n\n",number+1);
for (int i=0;i<4;i++)
{
printf("%4d ",p[number][i]);
}
printf("\n");
}
//找到不合格的学生,并打印他的所有成绩
void FunLowStudent(int (*p)[4],int n)
{
printf("***********成绩不合格的学生如下******************\n");
for (int i=0;i<n;i++)
{
int flag=1;
for (int j=0;j<4;j++)
{
if ((*(*(p+i)+j))<60)
{
flag=0;
break;
}
}
if (flag==0)
{
printf("第%d个学生成绩不合格\n",i+1);
for (j=0;j<4;j++)
{
printf("%4d ",p[i][j]);
}
}
printf("\n");
}
}
//找到不合格学生,并返回他的地址,根据地址修改他的成绩
int* FunLowStudentp(int (*p)[4],int n)
{
printf("***********成绩不合格的学生如下******************\n");
for (int i=0;i<n;i++)
{
int flag=1;
for (int j=0;j<4;j++)
{
if ((*(*(p+i)+j))<60)
{
flag=0;
break;
}
}
if (flag==0)
{
printf("第%d个学生成绩不合格\n",i+1);
for (j=0;j<4;j++)
{
printf("%4d ",p[i][j]);
}
}
printf("\n");
return (*(p+i)+0);
}
}
void main()
{
int a[3][4]={{55,65,75,85},{66,78,88,99},{95,94,78,100}};
printf("********学生成绩表**************\n");
for (int i=0;i<3;i++)
{
for (int j=0;j<4;j++)
{
printf("%4d ",*(*(a+i)+j));
}
printf("\n");
}
//查询
FinStundentlev(a,3);
//找到指定学生成绩
printf("请输入你要查询的学生编号0-2\n");
int number;
scanf("%d",&number);
FinNumberStu(a,number);
FunLowStudent(a,3);
int* addr=FunLowStudentp(a,3);
printf("%x\n",addr);
*addr=(int)100;
printf("修改以后的成绩表\n");
printf("********学生成绩表**************\n");
for ( i=0;i<3;i++)
{
for (int j=0;j<4;j++)
{
printf("%4d ",*(*(a+i)+j));
}
printf("\n");
}
system("pause");
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!