实验六数组名做函数的参数

2026/4/25 18:04:25

实验六数组名做函数的参数 一、实验目的 1. 2.

掌握数组做函数参数的用法 初步理解传值和传址的不同

二、实验内容

1.题目A:输入学生个数m和科目个数n,然后输入m个学生n门课程的成绩,接下来用函数实现下列功能(最多100名学生,10门课程):

[1] 计算每个学生的平均分; [2] 计算每门课程的平均分;

[3] 找出所有50个分数中最高的分数所对应的学生和课程; [4] 计算平均分方差。 1.2.要求

[1] 根据题目要求编写程序,并输出正确结果 [2] 不允许用全局变量 [3] 函数的形参应该包括数组名

[4] 所有的输入输出操作都在main中进行,自定义函数仅负责计算

1.3.提示

[1] 有m名学生,每个学生n门课程,每个学生有平均分,每门课程有平均分。因此可以定义一个二维数组float scores[m+1][n+1]存储以上信息。该数组的最后一行存储每门课程的平均分,最后一列存储每个学生的平均分。 [2] 求学生平均分的函数声明为:

void avgStuScore(float scores[][10],int m,int n); [3] 求课程平均分的函数声明为:

void avgCourseScore(float scores[][10],int m,int n); [4] 找出所有50个分数中最高的分数所对应的学生和课程的函数声明为:

void findHighestScore(float scores[][10],int m,int n); [5] 计算平均分方差的函数声明为:

float std(float scores[][10],int m,int n);

源代码: 1 2 3 4 5 6 7 #include int main() { void avgStuScore(float scores[][11],int m,int n); void avgCourseScore(float scores[][11],int m,int n); void findHighestScore(float scores[][11],int m,int n); 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

float fangcha(float scores[][11],int m,int n); float scores[101][11] = {0}; int m,n; int i,j;

printf(\请输入学生人数m和课程门数n:\); scanf(\,&m,&n); printf(\请输入学生成绩:\\n\); //input

for(i = 0;i

scanf(\,&scores[i][j]);

avgStuScore(scores,m,n);

avgCourseScore(scores,m,n);

//方差在最后一行最后一列

scores[m][n] = fangcha(scores,m,n);

//output

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

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

printf(\,scores[i][j]); }

printf(\); }

findHighestScore(scores,m,n);

return 0; }

void avgStuScore(float scores[][11],int m,int n) {

int i,j; float sum = 0; for(i = 0;i

sum = 0.0;

for(j = 0;j

sum = sum + scores[i][j];

52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

}

scores[i][n] = sum/n; } }

void avgCourseScore(float scores[][11],int m,int n) {

int i,j; float sum = 0; for(i = 0;i

sum = 0.0;

for(j = 0;j

sum = sum + scores[j][i]; }

scores[m][i] = sum/m; } }

void findHighestScore(float scores[][11],int m,int n) {

float max = 0;

int maxi = 0,maxj = 0; int i,j;

max = scores[0][0]; for(i = 0;i

for(j = 0;j

if (max < scores[i][j]) {

max = scores[i][j]; maxi = i;

maxj = j; } } }

printf(\,max,maxi,maxj); }

float fangcha(float scores[][11],int m,int n) {

int i,j;


实验六数组名做函数的参数.doc 将本文的Word文档下载到电脑
搜索更多关于: 实验六数组名做函数的参数 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219