[問題] 新手C語言一元二次方程式
小弟是大一新生 剛接觸C語言
老師派的作業是寫一個能解一元二次方程式
並且b^2-4ac < 0要能顯示出虛根
爬文根GOOGLE找到的都是直接寫沒有實根
然後我又剛好卡在這塊
我是使用Microsoft Visual C++ 2010 Express
以下是程式碼
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void){
float a=0;
float b=0;
float c=0;
double r1,r2,i1,delt;
printf("請依序輸入一元二次方程式(a*x^2+b*x+c=0)的三個整數a,b,c(以逗點區隔
):");
scanf("%f,%f,%f",&a,&b,&c);
delt=b*b-4*a*c;
if (delt>0){
r1=((-b)+sqrt(delt))/2/a;
r2=((-b)-sqrt(delt))/2/a;
printf("方程式具有相異實根為x1=%f和x2=%f.\n",r1,r2);
}
else if(delt==0){
r1=(-b)/2/a;
printf("方程式具有重根為x=%f",r1);
}
else{
printf("方程式具有共軛複根為x1=%f+%fi和r2=%f-%fi.\n",r1,i1,r1,i1);
}
system("pause");
return 0;
}
執行的時候前面兩個都能
但卡在最後的虛根那邊
都會跳出
Run-Time Check Failure #3 - The variable 'i1' is being used without being
initialized.
煩請解答 一直想不通@@
--
作者 MAXQb (Qoo) 看板 Gossiping
標題 [問卦]有無東方人拼的要死,但還是輸西方人的八卦!?
時間 Wed Oct 27 20:25:47 2010
→
10/27 20:26,
10/27 20:26
....我們在工作時他們也在睡覺啊,你再說什麼屁話啊!?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.135.26.104
※ 編輯: Pro80 來自: 140.135.26.104 (10/20 15:05)
→
10/20 15:10, , 1F
10/20 15:10, 1F
→
10/20 15:10, , 2F
10/20 15:10, 2F
有點不懂 r1 i1不是顯示用出來之後的答案嗎 ?
※ 編輯: Pro80 來自: 140.135.26.104 (10/20 15:13)
推
10/20 15:19, , 3F
10/20 15:19, 3F
所以要怎麼改才好....
※ 編輯: Pro80 來自: 140.135.26.104 (10/20 15:26)
→
10/20 15:34, , 4F
10/20 15:34, 4F
→
10/20 15:35, , 5F
10/20 15:35, 5F
喔喔 我大概懂了
可是前面兩個卻跑得出來欸@@
※ 編輯: Pro80 來自: 140.135.26.104 (10/20 16:05)
小的眼殘沒有發現我沒寫出來....
※ 編輯: Pro80 來自: 140.135.26.104 (10/20 16:06)