這道C語言的答案為什麼是這樣,看一道C語言程式答案,為什麼會這樣?

2021-07-30 12:53:45 字數 2581 閱讀 5658

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語言為什麼是這樣的結果

因為printf d d n m n,m 中 n 1.1 9.9 3.3 4.4 1.1 5.5 2.2 4.4 3.63 3.63 int 1.0。按理說,1.0取整後應該n 1 但是,浮點數在計算機中是按階碼 尾數 原碼 表示的,由於運算過程中取值是有限的,所以不能精準地表示1.0的結果,那麼這...

這道題為什麼答案是B而不是C?

題乾的意思應該是,你不應該把車開那麼快,這很危險!因此可以得知,這是一個建議,要用比較委婉的語氣。如果用couldn t的話,就變成了一種命令,所以選擇b答案的shouldn t。答這種語境對話題,你要帶著正常對話的思維去,而不是以解決問題的思維去答題,這樣會很累。選b翻譯為,你不應該開這麼快,很危...

c語言問題答案為什麼選c語言問題,答案為什麼選b

個人覺得答案是a有問題 16位 int是2個位元組,所以指標移動一個位元組很明顯是出問題了另外這個儲存單元指的是定義的資料型別佔用的空間大小,指標移動一個位置與指標移動一個儲存單元是一樣的,並沒有什麼問題,不知道答案b是怎麼得出來的 不管是移動2個位元組,1個位置,1個單元,本身就沒有問題,這個取決...