C语言数组指针的小例子

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、功能:输入6个学生的5门课程成绩,计算出每个学生的平均分和每门课程的平均分。

2、C语言实现代码:(其实就是用二维数组来实现的,二维数组的引用传递使用数组指针来完成)

复制代码代码如下:

#include <stdio.h>

#define STUDENT 5

#define SCORE 6

void input_array(float (*score)[STUDENT]);

void avg_score(float (*score)[STUDENT]);

void avg_course(float (*score)[STUDENT]);

/**

* calculate student average score and course average socore.

*/

int main(){

float a[SCORE][STUDENT];

input_array(a);

avg_course(a);

avg_score(a);

}

void input_array(float (*score)[STUDENT]){

int i, j;

for(i=0; i<SCORE; i++){

printf("input the %d student score:", i+1);

for(j=0; j<STUDENT; j++){

scanf("%f", score[i] + j);

}

}

}

void avg_course(float (*score)[STUDENT]){

int i,j;

float s;

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=%fn" , s,s/STUDENT); }

}

void avg_score(float (*score)[STUDENT]){ int i,j;

float s;

for(i=0; i<STUDENT; i++){

s = 0;

for(j=0; j<SCORE;j++){

s+= *(score[j]+i);

}

printf("%f " , s/SCORE);

}

}

更多信息请查看IT技术专栏

相关文档
最新文档