gpt4 book ai didi

创建均匀分布的 double 值数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:14:57 24 4
gpt4 key购买 nike

我是 C 的菜鸟,我来自 Matlab。我会疯狂地做一个非常简单的操作,比如创建一个均匀间隔的数字数组。我想要做的是有一个包含 50 个元素的数组,从 0 开始,以 0.1 的恒定增量递增。在 matlab 中它会很简单:

n=50;
h=0.1;
t=0:h:(n-1)*h;

在 C 中我正在尝试这个:

#include<stdio.h>

int main() {

int n = 50;
double h = 0.1;

double t[n];
t[0] = 0;

int i;
for (i = 0; i <= n; i++){
t[i+1] = t[i] + h;
printf("%i %d\n",i, t[i]);
}

return 0;
}

输出是这样疯狂的:

0 0
1 -1717986918
2 -1717986918
3 858993460
4 -1717986918
5 0
6 858993459
7 1717986918
8 -1717986919
9 -858993460
10 -1
...

我真的不明白为什么。

感谢您的帮助!

最佳答案

printf("%i %d\n",i, t[i]) 中,t[i] 是一个 double,但是 %d 要求您传递一个 int。使用 %g 作为打印 double 的通用格式。

关于创建均匀分布的 double 值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47838083/

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