1樓:傑釧數控
你的這個程式存在幾個問題
1,a,b.c的變數型別不正確,為了計算結果的精度要統一為float。
2,一元二次方程有實數解的條件沒有給出。
下面我把你的程式修改了一下,我執行了有解。你可以試試。
#include"stdio.h"
#include"math.h"
void main()
else
printf("該方程無實數解!");
scanf("%d",&a);
}else
printf("該方程無實數解!");
scanf("%d",&a);}
2樓:匿名使用者
都定義成float就好了。
3樓:戀衣豬豬
將x,y定義成double型別的就可以了,因為sqrt函式針對的是對double型進行的操作
4樓:匿名使用者
條件是b*b-4*a*c>0
5樓:匿名使用者
看你的執行環境吧,我也遇到同樣的問題,如果你是在linux環境下執行的話,編譯的時候應該寫成 cc 檔名.c -lm
#include在其他的編譯環境下是可以的,linux就加 -lm
6樓:手機使用者
為何要用這麼麻煩的步驟呢?
7樓:
其實我也沒有看出什麼錯,是不是輸入資料本來就是沒有解的?如果沒法編譯的話嘗試把void改為int。我看真的沒有問題~!
8樓:蓿靈
程式是沒錯,但是你這樣寫的程式已在無形中限定了輸入條件:b*b-4ac>=0和a!=0;只要你輸入的係數值滿足上述兩個條件是沒錯的。
下面給你一個可以計算一元二次方程的程式(對輸入條件無限制),你可以參考一下:
#include "stdio.h"
#include "math.h"
main()
else}}
9樓:匿名使用者
你沒有考慮到算術運算中的型別轉換吧。。。你把a,b,c均定義為整型變數,在運算中都以整型進行運算,結果當然不會是想要的,把那個4改為4.0 或把2改為2.
0,這樣結果就應該是你想要的了
怎麼看算出來的結果,我不會看,怎麼看八字算出來的結果,我不會看
致遠 出自諸葛亮的 誡子書 非淡泊無以明志,非寧靜無以致遠 俊馳 出自成語 俊才星馳 雨澤 恩惠像雨一樣多 燁磊 光明磊落 晟睿 晟 是光明 興盛的意思,讀sh ng 睿 是智慧的意思 天佑 生來就有上天庇佑的孩子 文昊 昊的字意是 廣大無邊 修潔 修 形容身材修長高大,潔 整潔 黎昕 黎 黎明昕 ...
C語言裡5 3的值 是怎麼算出來的
橘落淮南常成枳 在c語言裡!的意思是 非 5 3就是5非等於3,就是5不等於3,這邏輯是對的,所以值是1 如果為3!3的話,值就為0了。是c語言中的非運算子,在變數前面使用它,會構建非運算表示式,表示式的返回結果是個布林值 也就是隻有true或false 對變數使用時,如果變數不是布林資料型別,將會...
C語言中8!這樣算出來是怎麼是負數
8 40320 如果用int 型別來存放階乘的答案的話,由於它超過了16位整型數能表示的最大值32767,所以就發生了資料的 溢位 所以答案就出錯了。這時,只要採用大一點的 long 型別 只是修改用來表示階乘的變數的型別就可以了 就可以避免發生這樣的問題。while i 8 中 要求 i必須小於8...