c程序求助

来源:百度知道 编辑:UC知道 时间:2024/09/21 06:15:19
#include<stdio.h>
void main()
{
float average(float ar[10]);
float a[10],aver;
int i;
printf("Please input a[]:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
aver=average(a);
printf("average score is %5.2f\n",aver);
}
float average(float ar[10])
{
int i;
float aver,sum=0;
for(i=0;i<10;i++)
sum=sum+ar[i];
aver=sum/10;
return(aver);
}


程序有两个错误

首先函数声明应放在main函数前
如:
#include<stdio.h>
float average(float ar[10]);
void main()
{

}

其次float a[10],你定义的是实型数组,“scanf("%d",&a[i]);”而用scanf接受时却用整型接受因此错误
改为scanf("%f",&a[i]);就可以了

改后程序如下:
#include<stdio.h>
float average(float ar[10]); //函数声明应放在main函数前
void main()
{

float a[10],aver;
int i;
printf("Please input a[]:\n");
for(i=0;i<10;i++)
scanf("%f",&a[i]);//应用"%f"接收实型数据而不是"%d"
printf("\n");
aver=average(a);
printf("average score is %5.2f\n",aver);
}
float average(float ar[10])
{
int i;
float aver,sum=0;
for(i=0;i<10;i++)
sum=sum+ar[i];
aver=sum/10;
return(aver);
}

程序有一个错误,需要把子函数放在main函数前面或者在main函数前面申明子函数

你哪不懂啊?