zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C语言数组指针的小例子

C语言数组 例子 指针
2023-06-13 09:15:02 时间
1、功能:输入6个学生的5门课程成绩,计算出每个学生的平均分和每门课程的平均分。
2、C语言实现代码:(其实就是用二维数组来实现的,二维数组的引用传递使用数组指针来完成)
复制代码代码如下:

#include<stdio.h>
#defineSTUDENT5
#defineSCORE6
voidinput_array(float(*score)[STUDENT]);
voidavg_score(float(*score)[STUDENT]);
voidavg_course(float(*score)[STUDENT]);
/**
 *calculatestudentaveragescoreandcourseaveragesocore.
 */
intmain(){
   floata[SCORE][STUDENT];
   input_array(a);
   avg_course(a);
   avg_score(a);
}
voidinput_array(float(*score)[STUDENT]){
   inti,j;
   for(i=0;i<SCORE;i++){
       printf("inputthe%dstudentscore:",i+1);
       for(j=0;j<STUDENT;j++){
           scanf("%f",score[i]+j);
       }
   }
}
voidavg_course(float(*score)[STUDENT]){
   inti,j;
   floats;
   for(j=0;j<STUDENT;j++){
       printf("course%d ",j);
   }
   printf("\n");
   for(i=0;i<SCORE;i++){
       s=0;
       for(j=0;j<STUDENT;j++){
           printf("%f ",*(score[i]+j));
           s+=*(score[i]+j);
       }
       printf("\ts=%f,avg=%f\n",s,s/STUDENT);
   }
}
voidavg_score(float(*score)[STUDENT]){
   inti,j;
   floats;
   for(i=0;i<STUDENT;i++){
       s=0;
       for(j=0;j<SCORE;j++){
           s+=*(score[j]+i);
       }
       printf("%f ",s/SCORE);
   }
}