三个学生的成绩分别为:1:65,67,70,60....2:80,87,90,81....3:90,99,100,98.... 计算平均成绩,输出第2个同学的成绩: #include<stdio.h> int main() { void average(float *p,int n); void search(float (*p)[4],int n); float score[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}}; average(*score,12); search(score,2); printf("/n"); system("pause"); } void average(float *p,int n) { float *p_end; float sum=0,aver; p_end=p+n-1; for(;p<=p_end;p++) { sum=sum+(*p); } aver=sum/n; printf("average=%5.2f/n",aver); } void search(float (*p)[4],int n) { int i; printf("the score of No.%d are:/n",n); for(i=0;i<4;i++) { printf("%5.2f ",*(*(p+n)+i)); } } 查找有一门以上课程不及格的学生,并输出他们的全部成绩: #include<stdio.h> int main() { void search(float (*p)[4],int n); float score[3][4]={{65,57,70,60},{58,87,90,81},{90,99,100,98}}; search(score,3); system("pause"); } void search(float (*p)[4],int n) { int i,j,flag; for(j=0;j<n;j++) { flag=0; for(i=0;i<4;i++) { if(*(*(p+j)+i)<60) { flag=1; } } if(flag==1) { printf("No.%d fails,his scores are:/n",j+1); for(i=0;i<4;i++) printf("%5.1f ",*(*(p+j)+i)); printf("/n"); } } }