1.有一个班级,3个学生,4课成绩,计算总平均成绩,和查找第n个学生的成绩,以及将有一颗不及格的学生成绩打印出来。
#include<stdio.h>
#include<math.h>
void main(){
float a[][4]={11,23,34,45,66,67,78,89,90,32,43,54};
float (*q)[4],*p1;
int i,j,k;
p1=*a;//为首地址,也就是a[0],a[0]+1,*a;
void search(float (*q)[4],int n);
q=a;//使用指针数组的时候,
search(a,2);
putchar(10);
void count(float *q);
void find(float (*q)[4]);
count(a[0]);
putchar(10);
find(a);
}
void find(float (*q)[4]){
int i,j,k;
for(i=0;i<3;i++){
for(j=0;j<4;j++){
if(*(*(q+i)+j)<60){
for(k=0;k<4;k++){
printf("不及格的学生成绩:%f ",*(*(q+i)+k));
}
break;//跳出内循环
}
}putchar(10);
}
}
void count(float *q){
float *k,sum,*j;
k=q+16;
sum=0;
for(;q<k;q++){
sum=sum+*q;
}
printf("所有学生的平均成绩:%f",sum/16);
}
void search(float (*q)[4],int n){//相当于 float (*q)[4]=a;
int i;
for(i=0;i<4;i++){
printf("查找的学生成绩:%f ",*(*(q+n)+i));
}
}