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語言中,連結串列中...