分析你的错误
#include <stdio.h>
void main()
{int n=10,a[i];//这里的i换成个常数,因为数组的大小不能动态定义,何况这里的i并没有定义
float x;
i=10;//这里很明显i没有被定义就被赋值是不对的。
printf("请输入课程门数:");
scanf("%d",&n);//n开始已经被赋值啦,为什么还要输入呢?
printf("请输入各科成绩:");
scanf("%d",a[i]);//这里应该有个
for循环,输入10个值
x=Ave(n,a[i]);//这里也有问题,数组作为参数应该是这样的x=Ave(a,10)
printf("成绩
平均值为:%.2f\n",x);
}
float Ave(int a,n)//形参要对应实参
{int i,s=0;
for (i=0;i<n;i++)
s=s+a[i];
return (float)s\n;//这里除号应是/
}
修改后的
#include <stdio.h>
void main()
{int n=10,a[10];
float x;
printf("请输入各科成绩:");
for(i=0;i<10;i++)
scanf("%d",a[i]);
x=Ave(a,10);
printf("成绩平均值为:%.2f\n",x);
}
float Ave(int a[],int n);
{int i,s=0;
for (i=0;i<n;i++)
s=s+a[i];
return (float)s/n;
}