C語言出現了1IND00的問題

2021-03-08 11:18:21 字數 2234 閱讀 6086

1樓:

#include

#include

void main()

else}}

加個if語句判斷一下根號下面是否大於0,大於零就執行開根號,小於零就列印error!,執行程式電感輸入0.00001,電阻輸入90,結果是前兩個列印error,後面的8個都能正常列印出頻率,你試試。

2樓:鳴天飛鳥

(1/(l*c)-pow(r,2)/(4*pow(c,2)))我試驗了幾個數字,結果

為負值,不能開sqrt,所以結果是

輸出後頻率就一直=-1.#ind00

不知道原來公式是什麼,發出來,修改一下,應該可以了看看結果

3樓:縱學岺貳倩

溢位了,也就是超過了某個變數超過了float型的最大表示範圍e[i]=c[i]/(b[i]-a[i]*e[i-1]);//第一次執行這語句時,就溢位了,分母為0

此時i=1

b[i]=2.0

a[i]=1.0

e[i-1]=2.0

4樓:斂聖戲鵬翼

我不太明白你的題,但是可以給你一些意見,

這個公式是有最值的吧,建議你將這個公式計算的**封裝到一個函式裡,比如是double

sin(int

n)ret1=sin(n);

ret2

=sin(n),

然後就簡單了,在迴圈裡這麼寫

while(ret2

-ret1

<1e-16)n++;

這樣就好了

一個簡單的c語言程式,輸出-1.#ind00..不知道**錯

5樓:匿名使用者

進行浮點數程式設計時,如果沒有注意,常常會出現輸出類似 1.#ind, 1.#inf 或者 nan, inf 之類奇怪的輸出。這通常隱含了浮點數操作的異常。

特殊浮點數的含義

1.#inf / inf:這個值表示「無窮大 (infinity 的縮寫)」,即超出了計算機可以表示的浮點數的最大範圍(或者說超過了 double 型別的最大值)。

例如,當用 0 除一個整數時便會得到一個1.#inf / inf值;相應的,如果用 0 除一個負整數也會得到 -1.#inf / -inf 值。

-1.#ind / nan:這個的情況更復雜,一般來說,它們來自於任何未定義結果(非法)的浮點數運算。

"ind"是 indeterminate 的縮寫,而"nan"是 not a number 的縮寫。產生這個值的常見例子有:對負數開平方,對負數取對數,0.

0/0.0,0.0*∞, ∞/∞ 等。

簡而言之,如果遇到 1.#inf / inf,就檢查是否發生了運算結果溢位除零,而遇到 1.#ind / nan,就檢查是否發生了非法的運算。

特殊浮點數的判斷

很多 c 庫都提供了一組函式用來判斷一個浮點數是否是無窮大或 nan。int _isnan(double x) 函式用來判斷一個浮點數是否是 nan,而 int _finite(double x) 用以判斷一個浮點數是否是無窮大。

你可能已經注意到了,上面兩個函式都是以下劃線開頭的,因此在可移植性上可能是存在問題的,那麼如何實現一個通用的判斷版本呢?首先,對於 nan,可以用下面的**實現:

bool isnumber(double x)

而下面的**可以判斷一個浮點數是否是有限的(finite, 即既不是 nan 又不是 infinite):

bool isfinitenumber(double x)

其中,dbl_max 是 中預定義的常量。

把上面兩個函式結合起來,還可以實現一個浮點數是否是 inf 的判斷。

6樓:你真的良心

#include

#include

void main()

可以了,弄半天哦

7樓:德昂當

sqrt()的引數是負數的話,它會輸出錯誤提示。

你輸入的 a,b,c 三個值 進行 b*b-4*a*c 後可能是個負數。

8樓:匿名使用者

當c=0是x=0,可能有資料溢位現象

9樓:頻青無燁磊

double型別應該使用%lf來格式化輸入和輸出`

尤其是錄入資料時不能錯,輸出可以忽視精度.

請問C語言中,1,請問C語言中,

是求餘數的意思,a b也就是a除以b餘幾 1 2 0餘1,那1 2 1 這裡 是取餘數的意思 1除以2 餘數就是1咯 計算步驟的話。cpu有直接的整數除法指令,商和餘數分別放在不同的暫存器裡。這些都交給編譯器了,我們不用理了 取模運算。也就是1除2的餘數?結果 1 除數是2的時候很特殊.a 2 等同...

設計c語言計算1! ,設計C語言計算1! 2! 3! 10! ?

c語言計算1到10的階乘的和的 如下 include stdio h include math h voidmain inti,j,n,sum 0 for i 1 i 10 i n 1 for j 1 j i j n j 將每一項階乘相加求和。sum n printf d n sum 本程式採用兩層...

c語言中s i 1s,c語言中s i s i 1 s i 1 0 是什麼意思?

這是兩個條件 bai 第i 如果i從du1開始 個非空格字元 後跟一zhi個空格。或者dao第i 1個字元是字內符串結束標記。這條 容的意思是這兩個條件之一成立即可。知識延展 邏輯與,前後條件同時滿足表示式為真。邏輯或,前後條件只要有一個滿足表示式為真。按位與。按位或。區別 和 是邏輯運算,與 是位...