请帮我解释下这个程序(菜鸟)

#include<stdio.h>
void main()
{
float average(float array[10]);
float score[10],aver;
int i;
printf("input 10 scores:\n");
for(i=0;i<10;i++)
scanf("%f",&score[i]);
printf("\n");
aver=average(score);
printf("average score is %5.2f\n",aver);
}

float average(float array[10])
{
int i;
float aver,sum=array[0];
for(i=1;i<10;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);
}

#include<stdio.h>
void main()
{
// 声明函数,函数名为average,参数为float型数组,10在此无效.
float average(float array[10]);
// 定义float数组score,元素10个,另定义一个变通float变量aver
float score[10],aver;
// 定义int型变量i
int i;
// 向终端打印提示信息
printf("input 10 scores:\n");
// 通过for循环来初始化
for(i=0;i<10;i++)
// 从标准输入获取score各元素值[&score[i]或修改为score+i]
scanf("%f",&score[i]);
// 换行
printf("\n");
// 将average的返回值赋给aver
aver=average(score);
// 打印
printf("average score is %5.2f\n",aver);
}

// average的函数体,10在此依然无效...
float average(float array[10])
{
// 定义int变量,用于for循环的步长
int i;
// 定义float变量aver,记录其平均值,sum变量,记录其总大小
float aver,sum=array[0];
// 通过for循环来获取总大小
for(i=1;i<10;i++)
// sum <- 总和
sum=sum+array[i];
// aver得到平均值
aver=sum/10;
// 返回aver,函数结束
return(aver);
}

就是输入10个数,求平均值嘛...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-05
这是个求平均值的程序。
先解析下面那个参数:
float average(float array[10]) //获得数组
{
int i;
float aver,sum=array[0];
for(i=1;i<10;i++)
sum=sum+array[i]; //求和
aver=sum/10;//求平均值
return(aver); //返回平均值
}
主函数:
#include<stdio.h>
void main()
{
float average(float array[10]); //函数声明
float score[10],aver;
int i;
printf("input 10 scores:\n"); //提示:输入十个数
for(i=0;i<10;i++)
scanf("%f",&score[i]);
//这个循环的作用是将你输入的数赋予数组中的每个元素

printf("\n");
aver=average(score); 调用下面那个函数,求数组中元素的平均值
printf("average score is %5.2f\n",aver);
//输出平均值,其中%5.2f是限制输出值为浮点数,并限制其位数
}

不知道这样说你能不能明白呢?你最好说清楚一下你到底不明白在什么地方本回答被提问者采纳
第2个回答  2008-03-05
这个程序的作用是输入10个实数,求这10个数的平均值,并输出

#include<stdio.h>
void main()
{
float average(float array[10]);/*声明平均值函数*/
float score[10],aver;/*定义变量*/
int i;
printf("input 10 scores:\n");/*输出提示信息*/
for(i=0;i<10;i++)/*这个循环用于读取10个实数,并存入数组score中*/
scanf("%f",&score[i]);
printf("\n");
aver=average(score);/*调用平均值函数求数组score中的10个数的平均值,并将返回值保存到aver中*/
printf("average score is %5.2f\n",aver);/*以5.2格式输出平均值aver,5.2的含意是输出宽度是5位,其中的小数是2位,会进行四舍五入*/
}

float average(float array[10])/*这个函数将返回传入的数组中的10个元素的平均值*/
{
int i;
float aver,sum=array[0];
for(i=1;i<10;i++)
sum=sum+array[i];
aver=sum/10;
return(aver);
}
第3个回答  2008-03-05
这个程序是用来计算10个实数的平均数的。
先输入10个实数,存到score[10]数组中。
再调用float average(float array[10])计算平均数。
在打印结果就行了!