我的程序错在哪

我的程序错在哪,第1张

有两个问题,首先i没有初始化,需要先携液槐讲i赋值为0;

然后while(a!=48)

中你是按%d整形输入的所以应为while(a!=0)

[如果按字符形输入是while(a!=48)]

正确辩友程序如下

#include<stdio.h>埋尺

int main()

{

int i=0,a,s=0

while(a!=0)

{scanf("%d",&a)

i++

s=s+a}

printf("%d,%d,%d",i,s,s/i)

return 0

}

答案输出,闪一下程序就关闭了

为了方便看到答案

可以在scanf("%d",&a)和

printf("%d,%d,%d",i,s,s/i)

后面加getchar()

另外这个程序将0也计算上了.因为输入在while后面

如果不需要计算0可以输出前将i-1.

while(1/i>=1.0E-4)

这个语句要用到强制类型转换,1/i 得到的结果系统会自动转换成 int类型,你得到的值只能是0,while语句中的判断语句也永远是0;

要改誉塌成while(1.0/(double)i >= 1.0E-4)

记住,以后巧虚巧不论什么语言,遇到孝键整型数据计算的时候,比如你计算4/8, 如果想得到0.5,就必须写成 4.0/8.0。

只要不是巧合,那就是正确

只要运行结果正确,不需要和标准答案一样

刚分析了,你的答案是正确的,思路虽然和答案不同,但肯定是正确的(你拍禅的结果不是巧合)

思路的确伍贺空不一腔瞎样,很特别,一般人很难想到的..

不拘泥于答案,敢于创新,是值得提倡的...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12357107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存