马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("一次性定期存五年,最后所得为%d\n", (10000 * (1 + 0.015 * 5)));
system("pause");
return 0;
}
在你的代码中,存在一个常见的问题:整数除法。在 C 语言中,当两个整数相除时,结果会向下取整,也就是说,小数部分会被舍弃。
在你的代码中, (10000 * (1 + 0.015 * 5)) 的计算是按照整数计算的。这里 1 和 0.015 * 5 都被当作整数来处理,因此 0.015 * 5 结果会被舍弃成 0 ,最后整个表达式的结果就成了 10000 * 1 = 10000 。
如果你想得到正确的结果,你需要把其中一部分作为浮点数来处理。在这个情况下,你应该用 double 或 float 数据类型来存储你的结果,并使用 %f 格式符来打印浮点数。下面是修正后的代码:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
double result = 10000 * (1 + 0.015 * 5);
printf("一次性定期存五年,最后所得为%.2f\n", result);
system("pause");
return 0;
}
在这段代码中, result 是一个 double 类型的变量,它会正确地计算并存储 (10000 * (1 + 0.015 * 5)) 的结果,然后使用 %.2f 格式符来打印该浮点数,保留两位小数。
|