c語言問題!請高手解答!謝謝,C語言問題!請高手解答!謝謝

2021-05-05 16:50:53 字數 1650 閱讀 4769

1樓:匿名使用者

你分析程式,首先看main函式,輸入兩個數字~

進入for迴圈,迴圈次數是你輸入兩個數字的差~

進入一個判斷就是90-120之前的i是否等於 rsum(i)的返回值~

那麼看rsum函式:sum=0,進入while迴圈~

sum=sum*10+(j%10);(sum是0,%是代表的取餘,就是除法裡的餘數,比較相近~)

那麼就拿兩個數來舉例,90和99:

90:sum = 0 * 10 + (90 % 10)其實還是0~j = j/10就剩下是90/10=9對吧,!=0成立~

再一次進入while迴圈~sum = 0 * 10 +(9% 10); 這時因為不夠除,所以餘數就是本身。所以sum=9~

j = j/10,因為不夠除,所以它變成0,不滿足while的條件,跳出while迴圈,return出9~90等於9嗎~不等於,所以for迴圈的if不滿足,進行下一輪,執行91~

99:sum = 0 * 10 + (99 % 10)得到sum = 9~j = j/10就剩下是99/10=9對吧,!=0成立~

再一次進入while迴圈~sum = 9 * 10 +(9% 10); 這時因為不夠除,所以餘數就是本身。所以sum=99~

j = j/10,因為不夠除,所以它變成0,不滿足while的條件,跳出while迴圈,return出99,那麼這時候i也是99~所以條件成立,列印出99~

2樓:腦筋急轉

rsum函式的作用就是倒序  比如 rsum(56) = 65main()迴圈裡

從90到120 之間 尋找正序反序一樣的數字 只有三個for (i = n; i < m; i++)if (i == rsum(i))

printf("%d ", i);

//遇到 正序 == 倒序的就輸出

3樓:匿名使用者

此題求的就是 一個數是否左右對稱。

99 = 十位 9 * 10 + 個位 9 = 個位 9 * 10 + 十位 9

101、111 類似

int rsum(int j) 函式所完成的就是從右獲取每個整數的值,然後再逐步反向計算數值。

請高手解答c語言問題,謝謝!

4樓:苦孩子

003.14 0000

3.142

%m.n, 其中m表示佔幾列,n表示保留到小數點後幾位,一般在預設的情況下保留到小數點後六位,

第一個為預設的情況,

第二個為保留到小數點後三位

5樓:喬納森

1. false

2. 0

3. 3.14,3.142

在機子上試試就可以出結果的呀?要勤奮呢。。。還得動腦子思考

c語言二級小問題,急求高手解答,謝謝

6樓:惲潤

a=123.1234 printf("%3.3f",a);

輸出 :123.123

3 取前三整數 0.3 後3位小數

求高手解答c語言問題,考試急用,謝謝!

7樓:曾夢辰

照c++來看除了b全錯,c呢就是c、d。

c語言的問題,請解答下疑問,謝謝

include string.h void sort char name,int n void print char name,int n main int n 5 省略 在c中你所用到的函式必須提前跟系統打個招呼,只有這樣系統才會根據你的函式原型做相應的正確性檢查,一旦發現的函式呼叫有不對的地方,...

c語言問題,C語言問題,謝謝!!!

按照你的要求編寫的c語言程式如下 整型 int 字元型 char 單精度型 float 雙精度型 double 整個程式 6陣列的首地址 主函式main 3strcmp malloc等 c exe c語言問題,謝謝!這樣簡單的 復問題,按照制書上的舉例。套出一bai個來就行了,就是du一個迴圈語句,...

c語言問題詳細解答一下謝謝C語言問題,詳細解答一下,謝謝

輸出結果是 cdeab 函式move char str,int n 的作用是把長度為n字串的尾字元,前移到串首。在main 函式中連續呼叫了n次,即把字串末尾的n個字元前移到串首。輸出結 果 cdeab 分析 只要你理解了move函式 的作用你就能明白整個過程 第一次迴圈呼叫move char st...