检查了好几遍,应该是没问题啊!但是........
float average(float array[5]){
int i;float aver,sum=array[0];
for (i=1;i<5;i++)
sum=sum+array[i];
aver=sum/5;
return(aver);}
mian()
{
float score[5],aver;
int i;
printf("input 5 scores:\n");
for(i=0;i<5;i++)
scanf("%f",&score[i]);
printf("\n");
aver=average(score);
printf("verage score is :%5.2f\n",aver);
}
搜索更多相关的解决方案:
检查
----------------解决方案--------------------------------------------------------
for循环都少了一个{
----------------解决方案--------------------------------------------------------
#include<stdio.h>
float average(float array[5])
{
int i;
float aver,sum=array[0];
for (i=1;i<5;i++)
{
sum=sum+array[i];
aver=sum/5;
return(aver);
}
}
main()
{
float score[5],aver;
int i;
printf("input 5 scores:\n");
for(i=0;i<5;i++)
scanf("%f",&score[i]);
printf("\n");
aver=average(score);
printf("verage score is :%5.2f\n",aver);
}
错了2 3处吧 看着改吧
----------------解决方案--------------------------------------------------------
是main() 而不是mian()
----------------解决方案--------------------------------------------------------
谢谢!
哎呀,我还以为自己蛮认真仔细呢!没想到自己是个马虎大王啊!哎!谢谢!
----------------解决方案--------------------------------------------------------
回复 3# 的帖子
你帮人家修改得偏离原意了,LZ的程序并没有像2楼说的那样,少了一个"{" 因为那for循环内只有一条语句,可以不用大括号括起来的。 像你这样改的话for (i=1;i<5;i++)
{
sum=sum+array[i];
aver=sum/5;
return(aver);
}
和这样语句的效果是一样的
float average(float array[5])
{
int i;
float aver,sum=array[0];
sum=sum+array[1];
return sum/5;
}
只是求出前两个数的值 ,再把它除以5 就结束返回了。。。
所以 aver=sum/5;
return(aver); 这两句放在for 循环内是严重的逻辑错误的。。。。
----------------解决方案--------------------------------------------------------