gpt4 book ai didi

c - 简单的 "for loop"在C中没有计算出正确的数字

转载 作者:行者123 更新时间:2023-11-30 21:24:08 26 4
gpt4 key购买 nike

我想创建一个包含条目 diag[i][i] = 2/(2i+1) 的对角矩阵。这是我的代码,我真的不明白为什么它不起作用。它一定要是:diag[0][0]=2diag[1][1]=2/3diag[2][2]=2/5 l=2。事实上,adiag[i][i] 具有不同的值,这一事实也令人困惑。希望你能帮助我。

#include <stdio.h>
#include <math.h>

int main(void)
{
int l = 2;
int i , p;
double diag[l+1][l+1];
int a;

for (i = 0; i < l+1; i++)
{
p = 2*i + 1;
printf("%d ", p);
printf("\n");
diag[i][i] = 2 * 1/p;
printf("%d ", diag[i][i]);
printf("\n");
a = 2* 1/p;
printf("%d ", a);
printf("\n");
}

}

最佳答案

这并不如你所愿

diag[i][i] = 2 * 1/p;

这确实

diag[i][i] = 2.0/p;

p 是一个整数。您必须强制进行 float 除法,否则如果 p>1 则为 0,如果 p=1 则为 1

关于c - 简单的 "for loop"在C中没有计算出正确的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39167550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com