#include <stdio.h>
int main()
{
int x;
float f1[11], f2[11], s;
for (x = 1; x <= 10; x++)
{
f1[x] = (x * x) / 4;
printf("f1(%d)=%.2f\n", x, f1[x]);
}
return 0;
}
f1 =(x ^ 2)/ 4
当前输出为:
f1(1)= 0.00
f1(2)= 1.00
f1(3)= 2.00 // etc
我有点想要那些小数。
f1(1)= 0.25
f1(2)= 1.00
f1(3)= 2.25
答案 0 :(得分:1)
使用值执行的操作不会影响计算方式。因此,将某些数学结果存储在double
中这一事实并不会改变您正在执行整数运算的事实。
有很多修复,但最简单的可能是(1.0 * x * x) / 4.0
。