1 题目描述
根据要求编写程序P822.C的指定部分:
程序P822.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序(在指定的位置添加代码或将__________换成代码)——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。
程序的功能是:计算并输出n(n≤100)门课程的平均成绩。
程序的运行效果应类似地如图1所示,图1中的:80 90 70 61 -1是从键盘输入的内容。
Please input scores(-1 to exit): 80 90 70 61 -1
average score is 75.25.
2 下载文件
代码
#include <stdio.h>
#define maxNums 100
/* userCode(<50字符): 自定义函数之原型声明 */
______________________________
int main(void)
{
int i, count, scores[maxNums];
float avgScore;
printf("Please input scores(-1 to exit): ");
for (i=0; i<maxNums; i++)
{
scanf("%d", &scores[i]);
if (-1 == scores[i])
{
break;
}
}
count = i;
______________________________ /* userCode(<50字符): 调用函数计算平均成绩 */
printf("\naverage score is %.2f.\n", avgScore);
return 0;
}
/* User Code Begin:考生在此后完成自定义函数的设计,行数不限 */
3 改后的文件
代码如下
#include <stdio.h>
#define maxNums 100
/* userCode(<50字符): 自定义函数之原型声明 */
float getAvgScore(int *scores, int count);
int main(void)
{
int i, count, scores[maxNums];
float avgScore;
printf("Please input scores(-1 to exit): ");
for (i=0; i<maxNums; i++)
{
scanf("%d", &scores[i]);
if (-1 == scores[i])
{
break;
}
}
count = i;
avgScore = getAvgScore(scores, count); /* userCode(<50字符): 调用函数计算平均成绩 */
printf("\naverage score is %.2f.\n", avgScore);
return 0;
}
/* User Code Begin:考生在此后完成自定义函数的设计,行数不限 */
float getAvgScore(int *scores, int count)
{
int i;
float avg;
int sum=0;
for(i=0;i<count;i++)
{
sum+=scores[i];
}
avg = (float)sum/count;
return avg;
}
4 知识点
- 函数的声明、定义、调用
- 按需要,确定函数的参数个数,一般情况下,传入数组,同时也传入数组的长度参数
- 按题目要求,选定可用算法
-
- 累加求和
- 转制转换后再计算,保留