c语言
输入10个学生5门课的成绩,分别用函数求:
每个学生平均分;
每门课的平均分;
需要用框架的语句
#include <stdio.h>
1. 在此给出函数声明
1).根据模块化设计的原则,将应用需求分成若干模块(函数);
2).确定应给函数传递什么数据?
3).函数处理后,需要返回什么数据给调用函数?
3).采用什么参数传递数据?
4).函数是否需要返回值?
//在此给出函数的声明(函数原型)
//思考:数组名作为函数参数时,为何需要传递一个数组中可用的元素个数参数(此处为:nTOTAL_ROWS)
float RowAverage(float score[][5], int nTOTAL_ROWS, int nRow);
float ColAverage(float score[][5], int nTOTAL_ROWS, int nCol);
int main()
{
2. 确定应用中需要的变量
float score[10][5];
int nRow = 0, nCol = 0; //拟求均值的学生及课程
float rowAverage = 0.0, colAverage = 0.0;//求得的均值
int nStudentNums = 2; //在调试时,可先测试2个学生5门课/*
3. 完成数组的输入
1).如何实现二维数组的输入;
2).如何在程序中先进行少量数据的测试,待程序基本完善后再进行
大数据量的测试
//在此给出输入及输入数据验证的语句
4. 调用数据处理函数;
1) 现实中的需要求可能是什么?
2)一次求所有学生的成绩均值?
3)一次求所有课程的均值?
4)求用户指定内从的均值?
5. 输出计算结果
//在此给出输出语句
//在此给出具体的数据处理
//此处的函数调用及输出应根据用户的需求来确定
//现在假设是要求所有学生及所有课程的成绩均值
// (3)、(4)的代码应为如下形式:
printf("计算所有学生的成绩均值:\n");
for (int i = 0; i < nStudentNums; i++) {
float average = RowAverage(score, nStudentNums, i);
//此处格式:打印1位小数,另外下面语句中的i+1 有何好处?
printf("第 %d 个学生的成绩均值为:%.1f\n", i + 1, average);
}
printf("计算所有课程的成绩均值:\n");
//各位同学可以模仿上面的代码,自己来完成
return 0;
}
//在源程序中的任意位置给出函数定义
float RowAverage(float score[][5], int nTOTAL_ROWS, int nRow) {
float rowAverage = 0.0;
//自行给出具体实现
return rowAverage;
}
float ColAverage(float score[][5], int nTOTAL_ROWS, int nCol) {
float colAverage = 0.0;
//自行给出具体实现
return colAverage;
}