20251期《C语言程序设计B》专项训练02-函数05部分-程序P822.C

15 阅读2分钟

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 知识点

  • 函数的声明、定义、调用
  • 按需要,确定函数的参数个数,一般情况下,传入数组,同时也传入数组的长度参数
  • 按题目要求,选定可用算法
    • 累加求和
    • 转制转换后再计算,保留