gpt4 book ai didi

找不到我的错误,不断得到 "-1.#IND00"

转载 作者:太空宇宙 更新时间:2023-11-04 05:40:07 26 4
gpt4 key购买 nike

我为我的 C 语言编程大学类(class)编写了一个程序。无论如何,我总是收到不确定的错误。我已经手动检查了我的数学,并没有出现任何奇怪的情况。我一直在网上寻找建议,但最终找到了同样的东西:它与我的操作有关。但是,我不认为我所做的任何事情是“奇怪的”。

如果有人能帮助我发现我的错误,我将不胜感激。

#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#define C 3e8 //symbolic constant C

int main() {

/* Initalize variables, including the constant "pi" */
int l1=380E-9, l2=600E-9;
const float pi = 3.14;
float time1 = 1E-14,
time2 = 5E-14,
time3 = 8E-14;
/* I've split up each "y" variable to make it cleaner */
double ySOL1, ySOL2, ySOL3;
double y1_SOL1, y1_SOL2, y1_SOL3;
double y2_SOL1, y2_SOL2, y2_SOL3;


/* Equations to compute time=1E(-14)*/
y1_SOL1 = 3 * (sin(2 * pi*(C / l1)*time1));

y2_SOL1 = 5 * (sin(2 * pi*(C / l2)*time1));

ySOL1 = y1_SOL1 + y2_SOL1;

printf("The value of Y for Time_1 is: %f", ySOL1); //prints value of y for time1


/* Equations to compute time=5E(-14) */
y1_SOL2 = 3 * (sin(2 * pi*(C / l1)*time2));

y2_SOL2 = 5 * (sin(2 * pi*(C / l2)*time2));

ySOL2 = y1_SOL2 + y2_SOL2;

printf("\n\nThe value of Y for Time_2 is: %f", ySOL2); //prints value of y for time2


/* Equations to compute, time=8E(-14) */
y1_SOL3 = 3 * (sin(2 * pi*(C / l1)*time3));

y2_SOL3 = 5 * (sin(2 * pi*(C / l2)*time3));

ySOL3 = y1_SOL3 + y2_SOL3;

printf("\n\nThe value of Y for Time_3 is: %f\n", ySOL3); //prints value of y for time3

return 0;
}

最佳答案

你除以零。您的变量 l1l2 应该是 floatdouble。因为它们是整数,所以它们被截断为零,这在浮点除法中将导致正无穷大或负无穷大。 (这就是文本 -1.#IND00 的意思)

旁注:如果您正在进行浮点计算,您可能应该始终使用 floatdouble 之一,最好是 double。还有:

const float pi = 3.14;

这是一个粗略的估计,不是吗?

关于找不到我的错误,不断得到 "-1.#IND00",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21413458/

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