请问大家,这里怎么就会出错了呢。为什么呀?
本帖最后由 zxcbcv 于 2020-10-5 15:11 编辑
初始化 x=0 h=0
for循环里 当x<h时 i++ 执行循环,判断条件不符直接输出了,此时i=1 x=0,h=0
本帖最后由 风过无痕1989 于 2020-10-5 22:35 编辑
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i = 1; // 变量 year 定义之后没有被使用,故而略去
//double q=0.05;
float x = 0,h = 0,k = 10000;
for(i = 1;x < h;i++) // x = 0 && h = 0, 条件不符合,循环不能进行,因此下面花括号里根本就不会执行
{
x = k + i * (0.1 * k); // warning: 从 double 型转为 float 型,数据会损失
h = k + (0.05 * k + k) * pow(0.05,i - 1); // warning: 从 double 型转为 float 型,数据会损失
}
printf("%d年后,黑夜的投资额超过小甲鱼!\n",i);
printf("小甲鱼的投资额是:%f\n",x);
printf("黑夜的投资额是:%f\n",h);
system("pause");
return 0;
}
页:
[1]