為大師尋求 C 語言。 詳見問題補充

發布 科技 2024-06-10
12個回答
  1. 匿名使用者2024-01-29

    此過程涉及資料表示範圍。 double 型別是雙精度浮點數,double 的有效數是 51 位二進位數,分為格式化表示和未格式表示,這實際上意味著雙精度可以表示的有效數不能大於 2 的 51 次方,即 2251799813685248,近似且小於 1e16。 因此,如果 sum 的值大於 2251799813685248,則 sum 的實際儲存值將是小於 16 位的最接近其真實值的小數位的值,並且會出現精度損失。

    還有 50 個! 它大約是 3e64,比 1e16 大得多。 為了解決這個問題,只能使用整數陣列來儲存計算結果。

    要編寫整數陣列乘法的實現,您需要考慮進位,就像垂直的正常乘法一樣。

    乙個 32 位正整數表示乙個 2 的 32 次方以內的數字,兩個 32 位整數可以表示乙個 2 的 64 次方以內的數字,50! 需要 7 個 32 位正整數來表示。

  2. 匿名使用者2024-01-28

    你可以用這個應用做你想做的事。 此外,您的總和不想與陣列相乘; Sprintf 的功能有限。 希望對你有所幫助!

  3. 匿名使用者2024-01-27

    階乘。。 LZ 是否知道遞迴? 或者 for 迴圈也可以。

  4. 匿名使用者2024-01-26

    輸出為 nes

    原因:*(p++)1,結果與*p+1的結果相同,*p為1,所以*p+1為ne

    我們再分析乙個語句 **p-1,因為上一步有乙個 p++ 操作,p 是二級指標,你可以把 p 想象成乙個儲存 *p 的陣列,所以 *p 是 2,*p 是字串 2 的第乙個位址,所以 **p 是 t,所以 **p-1 是 s,綜上所述,輸出應該是: 其他

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

    ne,s

    p 原來指向 a 位址的雙指標,*p 是字元 *,1 指向字母 n,注意 p 後的 ++ 計算出來生效,所以在第乙個 printf 輸出 ne 之後,p 又是 ++,但 p 是指向 A[1] 後的雙指標 ++,所以這個時候, **p 指向 t,'t'-1 是 s

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

    此函式的目的是輸出......反向的二進位數

    讓我們具體解釋一下這個 bin 函式:

    首先,要確定 x 2 是否大於 0,當它大於 0 時,呼叫 bin(x 2) 實際上是將 x 除以 2 然後再次呼叫該函式,因此該函式每次都會將原來的 x 除以 2,直到 x 等於 1。 至此,函式結束。

    然後,bin 函式此時輸出 x 的餘數為 2,當 x 等於偶數時為 0,當 x 等於奇數時為 0

    其實這就是我們以相反的順序找到乙個數字的二進位表示式的順序,我們來看看在普通情況下如何找到乙個數字的二進位:

    例如,如果原始數字為 10,則:

    1)先找到這個數字的餘數到2,然後用“個位數”寫成。現在 10 比 2 的餘數是 0,所以現在的數字是“0”。

    2)判斷數是否大於1,等於1時計算完成,大於1時除以2求商,返回(1)。10 大於 1,當它大於 1 時,將這個數字除以 2 並找到整數(商),現在 10 除以 2,等於 5

    3)再次回到(1),現在找到5比2的餘數,寫在“十”上,現在5比2的餘數是1,所以原來的數字現在是“10”。

    4)再次回到2,將5除以2,找到整數,等於2

    5)再次回到(1),寫在“百”上的現在的2到2的餘數是0,現在的數字是“010”。

    6) 再次回到 (2),2 除以 2,等於 1

    7)再次回到(1),這一次,1到2的餘數,等於1,寫在“千”的地方,現在數字是“1010”。

    8)現在回到(2)1等於1,計算完成,所以10的二進位數是“1010”。

    而現在這個bin函式會把這個二進位數倒過來寫,因為printf函式會把當前數字的餘數一一列印到2,不會把第乙個餘數放在“個位數”,第二次放在“十”位,第三次放在“百”位, 所以我們手動計算(從右到左寫)的原始結果會在bin中完全顛倒(從左到右寫),不知道我是否這樣解釋,你明白沒有......

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

    首先,這個問題的目的是將十進位數 12 轉換為二進位數 1100。 你可以用 bin(2) 替換 12,輸入這個函式先確定 2 2=1,然後迭代呼叫 bin(1),輸入 bin(1) 並判斷 1 2=0,然後輸出 1%2=1,兩者都輸出 1,返回 bin(2),輸出 2%2=0。 最終結果是 10 是與十進位數對應的二進位數。

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

    程式條目, main(), 呼叫函式, bin(12)x=12

    x=12,x 2==6 是 呼叫自身 x=6,x 2==3 是 呼叫自身 x=3,x 2==1 是 呼叫自身 x=1,x 2==0 否 輸出:1%2=1 回到上一層,3%2=1

    回到上一層,6%2=0

    回到上一層,12%2=0

    程式執行結果:

  9. 匿名使用者2024-01-21

    執行程式的詳細過程可以在下圖中找到

    因此,完整輸出為 0

  10. 匿名使用者2024-01-20

    如果 n= 之後的所有 if 更改為 n==

    兩個相等是判斷。

  11. 匿名使用者2024-01-19

    如果你在 if(n=1) 語句中犯了乙個錯誤,它是絕對正確的,所以 2 3 應該是 if(n==1),所有 ifs 都必須是這樣的。

  12. 匿名使用者2024-01-18

    1 全部 i=10, j=6

    運算子的優先順序低於 + 運算子。

    所以:i%=j+1 實際上可以寫成:i=i%(j+1) 所以:i=3

相關回答
6個回答2024-06-10

#include

void fun(int *a,int *b,int m)int len,len1; >>>More

17個回答2024-06-10

p5[1] 取第二個字元的位址,即'b',列印結果為b,取p5[0]+1"def",列印結果為 def >>>More

9個回答2024-06-10

基本沒問題,去空調,但是這裡有問題。

if(x==6) >>>More

10個回答2024-06-10

您只需要找到 in 和 in 中定義的巨集輸出。

37個回答2024-06-10

1.在C語言中,%符號是餘數運算,即模組化運算(mod)。 >>>More