C语言学习作业:
定义一个二维数组,其中,元素个数代表学生人数,一维数组的元素代表学生各门成绩
通过判断,筛选出成绩不合格的学生
还没有学习结构体,对于二维数组可以使用结构体优化。
#include<stdio.h>
int * getposperson(int num,int(*p)[4])//形参:编号,数组指针
{
int *pos;
pos = (int*)(p+num);//基于父数组层面,对数组指针进行偏移,指向下一个子数组
return pos;//返回子数组的地址
}
int main ()
{
int a[3][4] = {
{77,88,99,66},
{54,67,12,77},
{99,78,12,88}};//定义一个二维数组
int num = 0;
int ans ;
//printf("请输入你要查看的学生编号(0,1,2):");
//scanf("%d",&num);
int *ppos;//定义一个指针
for(int j;j<3;j++){
ppos = getposperson(j,a);//指针接受 指针函数 返回的地址
for(int i = 0;i<4;i++){
if((*(ppos))<60){
printf("第%d位学生,第%d门课程不合格,成绩是:%d\n",j+1,i+1,(*ppos));
}
ppos++;
}
}
return 0;
}