在 C 語言中查詢圓面積的錯誤

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

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

    如果將 r 定義為 double,則 10000 的有效位精度不夠高。

    您可以嘗試不更改 r 的型別,然後直接指定 r=,而不是鍵入 r。

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

    計算機中絕大多數的小數都是不精確的,因為計算機中所有的數字都是用二進位的補碼表示的,例如,在計算機中會自動轉換為二進位,至於確切的位數與定義的型別有關,如果是浮點數,輸出將精確到小數點後7位。

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

    究其原因,旺凡2000名學生已經回答了這個問題。

    雙精度精度是 8 位,記住是的。

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

    r 的值太大,導致 s 超出範圍,請嘗試使用較小的數字。

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

    在經典的雙精度問題中,雙精度儲存的資料與您看到的不一樣。 它是沒有錯誤的。 嘗試將 r 定義為整數

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

    注意不同精度的運算的最終結果跟著高精度走,所以結果是這樣的,詳見《各種型別的數值資料之間的混合動作》一書一節。

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

    資料型別準確性差異和型別強制的問題。 樓上的兩人說得很好,應該表揚。

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

    3 全部 (1) 在思維方面,沒有問題。

    2)從邏輯上講,pi 通常取為小數點,如果定義乙個 int 型別,那麼它就非常不精確。

    3)在最終輸出語句中,前雙引號有4個格式化程式,後面只有3個變數,不一致。

    修改建議: 1)將變數 pi 和 radius r 定義為浮點型(浮點型,即可以是十進位數),計算面積的函式的返回值也定義為浮點型。

    2)那麼浮點型對應的格式化程式是%f,在scanf和printf中已經修改過了。

    3) 在最終輸出語句中,完成以下變數,如下所示:

    printf("area = %.2f * 2f * 2f = %.2f ",pi,r,r,area);

    %.2f 表示輸出數,小數點後 2 位。

    如果有幫助,請點選領養,謝謝!

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

傳入陣列引數時,使用 int a[m][m],其中 m 不能是變數。 >>>More

4個回答2024-02-09

#include

using namespace std; >>>More

11個回答2024-02-09

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

#include >>>More

7個回答2024-02-09

問題的關鍵是提示了什麼錯誤? 是藍屏嗎? >>>More

2個回答2024-02-09

查爾斯·達爾文(Charles Darwin,1809-1882),英國生物學家,演化論的奠基人,乘坐小獵犬號船進行了為期五年的環球航行,對植物、動物和地質結構進行了廣泛的觀察和收集,並於1859年出版了劃時代的著作《物種起源》,完成了生物學的一場革命 >>>More