- 一物体从高度100米的下落,每次下落高度减半,多少次后高度小于0.5米
`int main() {
double h = 100;
int i = 0;
while (h > 0.5) { // 修正循环条件,当高度大于0.5时继续循环
h = h / 2;
i++;
printf("第%d次落下的高度是:%f\n", i, h);
}
printf("%d", i);
return 0;
}
运行结果逻辑
这段代码用于计算一个物体从 100 的高度开始,每次落下高度减半,直到高度小于 0.5 时的次数及每次的高度。修正后,循环会在h > 0.5时执行,正确计算出每次落下的高度和次数。
2.一元钱存入银行,每年利息%10,10年后一共多少钱
int main() {
double money = 1;
int i = 0;
while (i < 10) {
money = money * (1 + 0.1);
i++;
printf("第%d年之后是:%f 元\n", i, money);
}
return 0;
}
代码功能说明
- 初始资金
money为 1,循环执行 10 次(i < 10)。 - 每次循环中,资金按
money = money * (1 + 0.1)(即每年增长 10%)计算,然后输出第i年之后的资金数额。
运行结果逻辑
程序会依次输出第 1 年到第 10 年之后的资金金额,展示复利的增长效果。例如第 1 年之后资金为1.1,第 2 年之后为1.21,以此类推,最终第 10 年之后资金约为2.5937(具体数值由浮点数精度决定)。