1樓:匿名使用者
1、“能整除形參x且不是偶數的各整數” 是說求“各整數”。這個“各整數”滿足兩個特徵:“能整除形參x”, “不是偶數”,這兩個特徵寫成**就是:((x%i==0)&&(i%2))
2、“這些除數的個數通過形參n返回”, 是通過形參返回,而不是返回值返回。如果用return就 是函式的返回值。形參是n,兩條語句“
*n=0;" 和 ”(*n)++“ 即為將形參n指向的int型變數賦值為“這些除數的個數”。
2樓:
1.你寫錯了。是i%2不是i&2。%是取餘除,所以i%2不為0就說明i不能被2整除,不能被2整除的整數肯定不是偶數,這不剛好符合要求嗎?
2.你把“返回”理解得太狹隘了,n是指標,當然會在fun返回時“帶回來”被fun改變了的值。函式返回一個值,不一定一定要用函式返回,用指標和全域性變數都能完成。
當然你把fun定義成有返回值的函式int fun(),最後用一句return *n也能行。
3樓:匿名使用者
1、題目說 能整除形參x且不是偶數的各整數,不是x不是偶數,而是所求的數i要求不是偶數。能整除形參x的條件是(x%i==0)而i不是偶數的條件是(i%2),兩者都要成立,則寫成if((x%i==0)&&(i%2));
2、n是通過指標方法傳到函式中來,在函式內已對n作修改
4樓:伯度空間
1.i%2為奇數時才為true
2.指標操作時是址傳遞。
》我要問的是:找出的數能被x整除,而且不偶數,那為什麼不能寫成if((x%i==0)&&(i%2!=0))?
效果應該是一樣的。
5樓:賴福平
i%2得到的結果非0為1,0則為0.
給形參而不是返回值,給形參是把得到的結果賦值給形參。和返回值不同,返回值是函式執行之後返回的結果。
看一道c語言程式答案,為什麼會這樣?
6樓:匿名使用者
a bc1=a,c2= ,c3=bpress any key to continue
這是在我機器上的執行結果vc 6.0
scanf("%c"),是一個一個字元的讀的,包括空格和回車.
7樓:
輸出是c1=a,c2=b,c3=a ??
那就看不明白了。。
要是想輸入a,b。。中間不是空格,是回車
8樓:
scanf函式輸入多個字元就是以空格作為字元間隔,表示一個字元輸入結束,開始輸入下一個字元,所以實際上你只輸入了兩個字元.a和b.
而c3你沒有輸入任何字元,所以應該不會顯示c3=a,所以你這個應該不是正確答案.
9樓:匿名使用者
這裡讀取的是字元型的資料,不指定scanf的分隔符的話會把空格也讀取,輸出應該是c1=a.c2= ,c3=b
10樓:飛龍在天
輸入格式是在函式scanf("%c%c%c",&c1,&c2,&c3); 確定的,在輸入的時候要跟scanf裡的格式一致,這裡在%c之間加空格應該就可以的
11樓:高速路上飆單車
你%c之間用個空格
12樓:匿名使用者
書上的結果是對的,建議你換個編譯器
13樓:匿名使用者
可能你定義位字元,而“空格”也是字元,所以就成那樣了,即使輸入a b c好像也不對
求解一道c語言題。答案為什麼這麼寫?
14樓:匿名使用者
第1堆是a[0],第2堆是a[1],第3堆是a[2]。
這裡說明一下(i+1)%3。表示用(i+1)/3取餘數。當i=2時,i+1=3,3/3餘數為0,則(i+1)%3=0。
程式的思想是倒推。首先第一個for迴圈第一條語句執行,此時i=2。 a[(i+1)%3]表示a[0]。
a[0]/=2就是把自己本身/2,這樣第1堆火柴恢復到第3堆火柴給它火柴之前的狀態。然後a[i]+=a[(i+1)%3];這樣第3堆火柴剛剛分出去的火柴也加回來了。
然後迴圈第二遍,此時i=1。a[(i+1)%3]表示a[2]。分析思路相同……
最後陣列a中存的火柴恢復了初始狀態,迴圈輸出一遍完事。
15樓:匿名使用者
就是把過程倒過來啊
第一堆減半,加到第三堆
第三堆減半,加給第二堆
第二堆減半,加給第一堆
這道c語言程式設計選擇題答案為什麼是a?
16樓:匿名使用者
什麼是程式設計 話就從一個著名的公式說起
17樓:岔路程式緣
x+a%3*(int)(x+y)%2/4
=2.5+7%3*(int)(2.5+4.7)%2/4=2.5+1*(int)(7.2)%2/4=2.5+7%2/4
=2.5+1/4
=2.5+0
=2.6
看一道C語言程式答案,為什麼會這樣
a bc1 a,c2 c3 bpress any key to continue 這是在我機器上的執行結果vc 6.0 scanf c 是一個一個字元的讀的,包括空格和回車.輸出是c1 a,c2 b,c3 a 那就看不明白了。要是想輸入a,b。中間不是空格,是回車 scanf函式輸入多個字元就是以空...
這道c語言題為什麼選B,C語言為什麼這道題a不對要選b答案
這是正確的,因為根據顯示條件,當i是偶數時輸出顯示大寫,奇數時輸出顯示小寫。注意i 2的運算結果就是奇數為1,偶數為0.a.bf a是說整體最少的位數,包括小數點,不夠的用空格補b是說小數點後最多的位數 6.2f 保留到小數點後2兩位,所以選b 選a好吧 scanf不能精度控制是非法的 c語言為什麼...
c語言問題如圖為什麼ab錯?正確答案是
a hello 是字串,不能存在int陣列裡 b a 5 說明最多存5個數,0 5是6個數溢位 a錯在 string 有7個位元組 而定義char 6 只有6個位元組空間 在編譯的時候,c對這個限制不高 頂多報一個警告 不會報錯誤的。這種越界,在c中是要靠自己把握的。就像char s 2 asdfa...