为了账号安全,请及时绑定邮箱和手机立即绑定

关于平均分函数

#include <stdio.h>
#define N 10
//打印分数 
void printScore(int score[])
{
	int i;
	printf("\n");
	for(i=0;i<N;i++)
	{
		printf("%d ",score[i]);               
	}
	printf("\n");     
}
//计算考试总分 
int getTotalScore(int score[])
{
	int sum = 0;
	int i;
	for(i=0;i<N;i++)
	{
		sum+=score[i];                
	} 
	return sum;
}
//计算平均分 
int getAvgScore(int score[])
{
	return getTotalScore(score)/N;   
}
//计算最高分 
int getMax(int score[])
{
	int max = -1;
	int i;
	for(i=0;i<N;i++)
	{
		if(score[i]>max)
		{
			max = score[i];              
		}                
	} 
	return max;
}
//计算最低分 
int getMin(int score[])
{
	int min =100;
	int i;
	for(i=0;i<N;i++)
	{
		if(score[i]< min)
		{
			min = score[i];              
		}                
	} 
	return min;
}
//分数降序排序 
void sort(int score[])
{
	int i,j;
	for(i=N-2;i>=0;i--)
	{
		for(j=0;j<=i;j++)
		{
			if(score[j]<score[j+1])
			{
				int temp;
				temp = score[j];
				score[j] = score[j+1]; 
				score[j+1]=temp;                  
			}                 
		}                   
	}
	printScore(score);     
}
 

int main()
{
	int score[N]={67,98,75,63,82,79,81,91,66,84};
	int sum,avg,max,min;
	sum = getTotalScore(score);
	avg = getAvgScore(score);
	max = getMax(score);
	min = getMin(score);
	printf("总分是:%d\n",sum);
	printf("平均分是:%d\n",avg);
	printf("最高分是:%d\n",max);
	printf("最低分是:%d\n",min);
	printf("----------成绩排名---------\n");
	sort(score);
	return 0;    
}

上面给出的参考答案里,平均分函数的变量为什么定义为数组类型,就是 int getAvgScore(int score[])  里的score[],但是函数内部用到的参数是getTotalScore(score),这个getTotalScore(score)是一个整型参数而不是一个数组吧,我改成int getAvgScore(int score),没有[],运行结果也是一样的,不知道哪个更正确。

正在回答

2 回答

函数内部用的getTotalScore(score) ,这里面score只是个参数名称,实际的参数是{67,98,75,63,82,79,81,91,66,84}这堆东西,而在外面定义函数的时候定义的是int getTotalScore(int score[])

这表明,这个函数需要传递一个数组的参数,那么如果你把后面[]这个去掉之后,就会报错,当然有些编译器不会给你报错,因为现在编译器已经可以根据你的写法做一些调整,但是你实际的那种写法是错的

0 回复 有任何疑惑可以回复我~
#1

qq_圓圓_0 提问者

非常感谢!
2015-10-26 回复 有任何疑惑可以回复我~
#2

qq_圓圓_0 提问者

现在在学习Linux C 把之前提的问题忘记了 今天才想起来 谢谢了
2015-10-26 回复 有任何疑惑可以回复我~
#3

qq_圓圓_0 提问者

还有 我其实说的是AvgScore函数而不是TotalScore函数 在AvgScore函数内部又用到了TotalScore函数 那么Avg的参数是Total这个函数的参数(即数组)还是Total这个函数的返回值(即整型)呢? 谢谢
2015-10-26 回复 有任何疑惑可以回复我~

还有 我其实说的是AvgScore函数而不是TotalScore函数 在AvgScore函数内部又用到了TotalScore函数 那么Avg的参数是Total这个函数的参数(即数组)还是Total这个函数的返回值(即整型)呢?  

谢谢

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

关于平均分函数

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信