-
if (b*b-4*a*c==0)
printf("x1=x2=%.6f",-b/(2*a));
elseif(b*b-4*a*c>0)
printf("x1=%.6lf",(-b-sqrt(b*b-4*a*c))/(2*a));
printf("x2=%.6lf",(-b+sqrt(b*b-4*a*c))/(2*a));
else printf("x1=%.6lfi",(-b-sqrt(4*a*c-b*b))/(2*a));
printf("x1=%.6lfi",(-b+sqrt(4*a*c-b*b))/(2*a));
其他每個都應該對應於最接近的 if,並且您擁有的內容不正確,例如線條,它們大多用大括號括起來。
還有您定義的 double 型別的變數 [double x,x1,x2; 如果您不參與該操作,則可以刪除已定義的語句。
-
在圖中的紅框中,紅框中有乙個飢餓的雀類錯態日曆,在C語言中已經是異或運算了,要求兩邊都必須是整數,所以使用double型別時會得到錯誤。
開平方根可以與 double sqrt (double num) 庫函式一起使用。
-
如果存在輸入錯誤,請不要用逗號分隔,而是用空格分隔,因為以前的格式字串是 %f%f%f。
請參閱下面的 SCANNF 介紹
1.函式的第乙個引數是格式字串,它指定輸入的格式,根據格式說明符解析輸入對應位置的資訊,並將其儲存在變數引數列表中的相應指標中。 每個指標必須為非 null,並且逐個對應於字串中的格式化程式。
2.如果 %d 在 scanf 中連續寫入,例如“%d%d%d%d”,則資料不應用逗號分隔,而只能用空格字元(空格或 Tab 鍵或 Enter)分隔 - “2(空格)3(製表符)4”或“2(製表符)3(輸入)4”等。 如果是“%d,%d,%d”,則在輸入資料時需要新增“,”,例如“2,3,4”。
-
scanf("%f%f%f", &a, &b, &c);
輸入時為 1 5 6
中間空格是分開的,不要使用任何逗號,輸入和輸入,這個輸入是免費的,你不需要付費。 不要在 scanf 格式字串中填充僅限 printf 的東西,那將是一團糟。
-
<>不在括號中。 將這句話修改為:
printf("該方程的解是 x=%f 或。
成功結果:
-
沒關係。
1. 輸入 1 1 1 時:
2. 輸入 1 4 4 時:
3. 輸入 1 5 4 時:
4. 輸入 1 6 4 時:
這與我使用計算器所做的幾乎相同:
沒問題,你說的真是大錯特錯。
-
就我個人而言,我認為找根 1 根 2 可能是錯誤的,如果 delt 平方正好是乙個整數,那麼它應該四捨五入,你試著把下面的 2 改成可以。
-
可以這樣分配嗎?
它應該分為兩行:
x1 = (-b+sqrt(disc))/(2*a);
x2 = x1;
它叫【批處理】程式,其實不要以為你上面提到的處理垃圾的程式真的很厲害,太神奇了,當你學會了DOS之後,那個程式可以說是一件很簡單的事情; >>>More