当前位置: 代码迷 >> C语言 >> [求助]请教一道有关数组的题
  详细解决方案

[求助]请教一道有关数组的题

热度:468   发布时间:2006-01-10 18:47:00.0
[求助]请教一道有关数组的题
题目是这样的:编写一个程序,从键盘输入10个实数计算并输出算术平均数。

#include<stdio.h>
main()
{ float a[10],sum=0,p; /* a[10]存储实数,sum为和,p为平均数 */
int i;

printf("input 10 numbers:");

for(i=0;i<=9;i++) /* 存a[i]数组的for语句 */
scanf("%f",a[i]);

for(i=0;i<=9;i++)
sum+=a[i]; /* 10个实数之和*/
p=sum/10; /* 求平均数 */
printf("%f",p);
}

一般这种情况,写好程序并没有语法错误时,按ctrl+F9就会切换到DOS界面并显示“input 10 numbers:”的,可是我这次按了后并没有反映,依然在编程界面,如果此时按alt+F5,就会切换到DOS界面并且显示
“input 10 numbers: scanf: floating point formats not linked
Abnormal program termination”

请问这是怎么回事呢?我的程序错在什么地方?谢谢!

----------------解决方案--------------------------------------------------------

http://www.bc-cn.net/bbs/dispbbs.asp?boardID=5&ID=18233&page=3

----------------解决方案--------------------------------------------------------

多看精华帖啊


----------------解决方案--------------------------------------------------------
把你的scanf("%f",a[i]);改成scanf("%f"&a[i]);

本程序在Turboc 2中运行通过
----------------解决方案--------------------------------------------------------
scanf("%f",a[i]);
着个怎么能通过呢,,,加个&~~~!!!
----------------解决方案--------------------------------------------------------

呵呵,一看就是TC的典型BUG
珍爱生命,远离TC


----------------解决方案--------------------------------------------------------
今天一运行又可以通过了,谢谢各位。

应该是&a[i]的,只是我把代码抄过来的时候漏掉了 “&”。汗

谢谢giant提供的链接,我想还真是TC的BUG,真有些受不了它了,每次打开系统都很慢。。。。
----------------解决方案--------------------------------------------------------
是将[scanf("%f",a[i]);改成scanf("%f"&a[i]);]
并且你以后还要注意尽量把数据类型写通!
小建议!
----------------解决方案--------------------------------------------------------
对了,以后可以在编完程序后,用F8执行一下,问题就出来了!
一定试试哟!
----------------解决方案--------------------------------------------------------
TC在DOS下操作有点麻烦,可以试试WIN-TC。个人觉得比较方便
----------------解决方案--------------------------------------------------------
  相关解决方案