為什麼答案是c選項

時間 2022-07-15 12:00:04

1樓:匿名使用者

#include

main()

,c[5]=,i;//初始化int型陣列s[12],c[5]

for(i=0;i<12;i++) c[s[i]]++;//因為之前定義了c[5],所以陣列c下表為0-4,所以s[i]取值範圍0-4.

現在i=0,7,8,9時,s[i]=1,此時運算元為c[1],自加了4次,所以c[1]

變為4。到這裡可以用排除法解決了。

具體點:i=1,6,10時,s[i]=2,此時運算元為c[2],自加了3次,所以c[2]

變為3。i=2,5,11時,s[i]=3,此時運算元為c[3],自加了3次,所以c[3]

變為3。i=3,4時,s[i]=4,此時運算元為c[4],自加了2次,所以c[4]變為2.

到現在:c[1]=4,c[2]=3,c[3]=3.c[4]=2.

for(i=1;i<5;i++) printf("%d",c[i]);//列印c[1],c[2],c[3],c[4],得到4 3 3 2

printf("\n");}

2樓:絳喵

c[s[i]]++ 是關鍵。

當i=0, s[i]=1,c[s[i]]++ = c[1]++ = 1

當i=1, s[i]=2,c[s[i]]++ = c[2]++ = 1

當i=2, s[i]=2,c[s[i]]++ = c[3]++ = 1

當i=3, s[i]=2,c[s[i]]++ = c[4]++ = 1

當i=4, s[i]=2,c[s[i]]++ = c[4]++ = 2

當i=5, s[i]=2,c[s[i]]++ = c[3]++ = 2

當i=6, s[i]=2,c[s[i]]++ = c[2]++ = 2

當i=7, s[i]=2,c[s[i]]++ = c[1]++ = 2

當i=8, s[i]=2,c[s[i]]++ = c[1]++ = 3

當i=9, s[i]=2,c[s[i]]++ = c[1]++ = 4

當i=10, s[i]=2,c[s[i]]++ = c[2]++ = 3

當i=11, s[i]=2,c[s[i]]++ = c[3]++ = 3

所以c[1]=4 、c[2]=3、c[3]=3、c[4]=2

其實就是讓你數s[12]陣列裡面1234出現的次數。

3樓:

有什麼奇怪的嗎?

c[s[i]]++等於就是看1234分別出現了幾次,1出現4 ,2和3出現3次,4出現2次

最後陣列就是0,4,3,3,2 從1-4輸出不就是4332

第6題答案C 120是正確選項的原因是什麼

這個圖形底是三角形,三角形面積公式是,底 高 2 6 4 2 12這個圖形底是三角形,三角形面積公式是,底 高 2 6 4 2 12這個圖形底是三角形,三角形面積公式是,底 高 2 6 4 2 12這個圖形底是三角形,三角形面積公式是,底 高 2 6 4 2 12這個圖形底是三角形,三角形面積公式是...

c語言求教。為什麼是這個答案。還有printf 中後面的a,b,z的意思是表示分別以整數輸出

考了x 與 x的不同,比如z x 是先z x再x 若是z x,就是先x 之後z x, z x 意味著先把x的值賦給z,然後x自己加1,等價於 z x x x 1 z x意味著先給x加1,然後再賦值給z,等價於 x x 1 z x 這個教科書裡都有啊,規則還是要清楚 運算子的順序忘記了。自己查下教科書...

c語言問題6,c語言問題 為什麼答案是8,6,

1 結構體的成員可以是另一個結構體,這就叫結構體的巢狀。比如 struct segment 下面的bs 213是遞迴,是定義成自己本身的一個結構體,本身的結構體又定義了一個本身的結構體,這樣下去就是個無限遞迴了。可以這樣寫,但實際中是沒有什麼用處的。struct node 2 在c語言中,連結串列中...