C语言初学者求帮助看看这道程序哪里错了

2025-03-10 00:00:32
推荐回答(4个)
回答1:

你对这个题目的理解有问题,随机输入的年增长率x没有加以限制,至少不能大于1吧。如果输入大于1的数,那么第一次循环sum就大于10000了。根本无法达到下面设定的条件
sum == 10000
然后程序将陷入死循环。
同理,随机输入的x,
对于算式sum = sum * x + sum;
要达到sum == 10000
这个条件的概率很小很小,所以绝大部分时候,程序都会陷入死循环。
建议改为sum >= 10000

以下是修改后的程序运行结果:
Please input x:0.05
year = 2021 nian, chanzhi = 10394.64

回答2:

是你的软件有问题吧,我用cfree测试,可以正常运行的

回答3:

你程序中第7行%1f有问题因为其中1表示宽度 而双精度一定比1宽 所以系统提示:无法写入(cannot writing) 而且帮你改进一下:if(sum>=10000)因为你输入的x可能会使sum大于10000而没有相等的可能。(因为是用手机上网,所以打的有些简单,望见谅)

回答4:

把==改为>=