在 C 中求解二次方程時,它總是顯示乙個誤差,該誤差已求解

發布 教育 2024-02-09
8個回答
  1. 匿名使用者2024-02-05

    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; 如果您不參與該操作,則可以刪除已定義的語句。

  2. 匿名使用者2024-02-04

    在圖中的紅框中,紅框中有乙個飢餓的雀類錯態日曆,在C語言中已經是異或運算了,要求兩邊都必須是整數,所以使用double型別時會得到錯誤。

    開平方根可以與 double sqrt (double num) 庫函式一起使用。

  3. 匿名使用者2024-02-03

    如果存在輸入錯誤,請不要用逗號分隔,而是用空格分隔,因為以前的格式字串是 %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”。

  4. 匿名使用者2024-02-02

    scanf("%f%f%f", &a, &b, &c);

    輸入時為 1 5 6

    中間空格是分開的,不要使用任何逗號,輸入和輸入,這個輸入是免費的,你不需要付費。 不要在 scanf 格式字串中填充僅限 printf 的東西,那將是一團糟。

  5. 匿名使用者2024-02-01

    <>不在括號中。 將這句話修改為:

    printf("該方程的解是 x=%f 或。

    成功結果:

  6. 匿名使用者2024-01-31

    沒關係。

    1. 輸入 1 1 1 時:

    2. 輸入 1 4 4 時:

    3. 輸入 1 5 4 時:

    4. 輸入 1 6 4 時:

    這與我使用計算器所做的幾乎相同:

    沒問題,你說的真是大錯特錯。

  7. 匿名使用者2024-01-30

    就我個人而言,我認為找根 1 根 2 可能是錯誤的,如果 delt 平方正好是乙個整數,那麼它應該四捨五入,你試著把下面的 2 改成可以。

  8. 匿名使用者2024-01-29

    可以這樣分配嗎?

    它應該分為兩行:

    x1 = (-b+sqrt(disc))/(2*a);

    x2 = x1;

相關回答
2個回答2024-02-09

void ziq() 部分沒有說什麼 Sark,只是把它轉過來。 >>>More

8個回答2024-02-09

如果將 r 定義為 int,請輸入 10000,這將在相乘時自動強制型別轉換。 >>>More

4個回答2024-02-09

尾部節點接下來指向 null 並不難。

你只需要while(p->next! =null)。 >>>More

7個回答2024-02-09

它叫【批處理】程式,其實不要以為你上面提到的處理垃圾的程式真的很厲害,太神奇了,當你學會了DOS之後,那個程式可以說是一件很簡單的事情; >>>More

11個回答2024-02-09

我覺得很簡單......

#include >>>More