永发信息网

c语言运行错误,C大拿们来帮帮忙吧

答案:5  悬赏:70  手机版
解决时间 2021-05-01 10:35

#include <stdio.h>

float average (float array[])
{
int j;
float aver,sum=0;
for (j=0;j<10;j++)
sum=sum+array[j];
aver=sum/10;
return aver;
}
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);
}
帮我看看这个程序 好不? 我运行到处结果那出错 不知道哪不对

有大拿帮忙运行下 看看那不对

最佳答案

#include <stdio.h>

float average (float array[])
{
int j;
float aver,sum=0;
for (j=0;j<10;j++)
sum=sum+array[j];
aver=sum/10;
return aver;
}
void main ()
{
//float average (float array [10]);
float score[10],aver;
int i;
printf ("input 10 scores: \n");
for (i=0;i<10;i++) // 这里应该是i<10,否则i=10的时候数组访问越界
scanf ("%f",&score[i]);
printf ("\n");
aver=average(score);
printf ("average score is %5.2f\n",aver);
}
全部回答

float average (float array[])

这个函数定义有问题。

/float average (float array [10]);

函数声明有问题,

aver=average(score);

函数用的有问题。

原因是

函数定义是少个形参,

可以这样定义

float average (float array[],int n)

所以声明时就得相应换成

float average (float array[],int n);

电脑在编译时是不会注意我《》括的东西的。

/float average (float 《array [10]》);

所以你写的就相当于

/float average (float );

所以会出现你的问题,

用的时候应该这样用,

aver=average(score,n);

有关于c语言的问题就问我,

我现在学,一起学习。

for (i=0;i<=10;i++)//这里的<=10应该改成<10 因为从0到9就是10个数了;

#include <stdio.h>

float average (float array[]) { int j; float aver,sum=0; for (j=0;j<10;j++) sum=sum+array[j]; aver=sum/10; return aver; } 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应该改成<10 scanf ("%f",&score[i]); printf ("\n"); aver=average(score); printf ("average score is %5.2f\n",aver); }

结果

for (i=0;i<=10;i++)应改为for (i=0;i<10;i++)

因为整个数组就10个数据大,你那句for (i=0;i<=10;i++)就变成11个了!!

小错误 内存越界了 帮你改过来了 再看看 #include <stdio.h> float average (float array[]) { int j; float aver,sum=0; for (j=0;j<10;j++) sum=sum+array[j]; aver=sum/10; return aver; } 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); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我四号来月经十八号同距一齐今过月未来月经请
减肚子的方法?
哪位高手帮我听歌找歌名
《闻王昌龄左迁龙标》是什么季节?
天龙电话密保解除
教我啊 好不好
极品飞车9修改器1.3
衡垅巷在什么地方啊,我要过去处理事情
最近比较烦比较烦- -求好看的喜剧片!
GC 47004G
去医院掏耳朵~医生会给挖最最深处的耳屎吗?
安徽农业大学环境科学怎么样啊
怎么才能上qq升级
我是新用户,QQ农场加入不了,是怎么回事?
敢于尝试的句子,让我知道做事要敢于尝试的谚
推荐资讯
关于日本武将辞世诗
天龙八部逍遥40以后该穿什么装备?镶什么宝石
癌症可怕吗?
《月亮上面是否真的有棵树》
请问在哪里才有正宗的石锅鱼
下了个迅雷龙 玩不了 每次都出现这个
为什么人一流泪,眼睛就会红啊,而且很容易被
问问上别人回答了问题,下面那个《采纳》是甚
怎么防止蚂蚁爬我油罐?
我打算考驾驶证,但交通规则还不太清楚,有谁
七年的爱广场舞健身操印度舞学教
郑州银基有卖彩色铅笔裤的吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?