C for循环中的pow函数向下舍入

时间:2017-03-24 10:27:37

标签: c

我正在试用c中的pow-function,出了点问题。

#include <math.h>
#include <stdio.h>
int main(){
    int highnumber = 18; 
    int input = 344;
    int diff[18];
    for(int j = 1; j<=highnumber; j++){
       diff[j-1] = input - pow(j,2);
       printf("%d\n",diff[j-1]);
    }
}

我得到了输出:

343
340
335
328
319
308
295
280
263
244
223
200
175
147
119
88
54
19

现在最后两个条目对我来说没有意义。他们应该是55岁和20岁。任何人都知道为什么会这样?

好的,我更改了索引,并显示pow功能有效:

#include <math.h>
#include <stdio.h>
int main(){
    int highnumber = 18; 
    int input = 344;
    int diff[18];
    for(int j = 0; j<=highnumber; j++){
       diff[j] = input - pow(j,2);
       printf("%d\n",diff[j]);
    }
    int a = input - pow(17,2);
    int b = input - pow(18,2);
    printf("%d\n%d",a,b);
}

输出:

344 343 340 335 328 319 308 295 280 263 244 223 200 175 147 119 88 54 19 55 20

0 个答案:

没有答案