1樓:匿名使用者
a資料只能存放字元 5到8
第一組輸入 5678
s['9'-'5'-1] = s[3] == 'four'
s['9'-'6'-1] = s[2] == 'three'
s['9'-'7'-1] = s[1] == 'two'
s['9'-'8'-1] = s[0] == 'one'
記住a只能存放 5678 剩下的你自己推算了下了
2樓:自我程式設計
首先,看你題目,題目最後輸出的**有錯。
printf這裡格式是%s不是%ds。
這個**s是一個指標陣列,每一個指標指向一個字串。(相當於二維字元陣列)
while這一段的意思就是:接收最多9個字元(回車確認)(字元必須是'5'~'8'範圍內的字元,輸入以外字元無效)。把輸入的字元依次儲存在陣列a中,
while輸入完畢,在a陣列最後一個字元後面新增結束符號0(這樣a才是一個完整的字串)。
for這一段就是遍歷a陣列,取出a陣列的每一個數字字元,並求'9'-a[k]-1的值,取該值為下標的s陣列元素,也就是對應s陣列中的字串(s中每一個元素就是一個指標,其值就是對應字串的首地址)。
(1)輸入5678,那麼a陣列中的字串就是“5678”,那麼依次取a的元素就是'5','6','7','8'。
那麼'9'-a[k]-1的值就是3,2,1,0。那麼列印的就是s[3]s[2]s[1]s[0],也就是"four" "three" "two" "one"。選d。
( 2 )輸入8561#,a陣列中的字串是“8561”,列印的就是s[0]s[3]s[2]s[7],也就是"one" "four" "three" 。(s[7]沒有初值)。選c
(3)(4)同理不解釋了。
求大神解答下這道c語言題,謝謝,詳細一點
3樓:聽不清啊
r=st(p);呼叫時,p初始指向k,即a初始指向k,c也指向k,if(*a>*c)c=a;條件不滿足。
返回k的地址,賦值給r。
輸出的是k的值,即7。
4樓:
你可以解釋一下樣例是什麼意思,我沒參加過acm,但是我的c與c++程式設計能力還可以,我現在去自習,如果可以,你解釋一下,我晚上回來一起研究,如果不願意就算了,這個樣例輸出我理解不了啊,謝謝
求解一道c語言的題目,一道c語言題目求解,謝謝?
挺好玩的,我做了一下,得出是3121,不知道對不對,樓上的都認為最後一個人 e 分的時候只剩下6條,然後他丟掉一條,把5條分成5份,也就是留下4條給別的人,自已拿走一條,也就要所謂的每人最少分得一條,但是這是不可能的,因為e分的魚其實是d好心留下來的4份 給其他的4個人的 但是6怎麼分成4份?所以說...
一道c語言題,儘量說詳細一點
這是函式的遞迴 該函式相當於 void fun int x 所以輸出3 7 你程式寫得好亂.幫你整理一下 include void fun int x main 這程式執行到 fun 7 會把 7 的值傳入 x 裡然後再執行 fun int x 這個副程式 函式 執行 if x 2 1 判斷是否成立...
函式求最值。過程最好詳細一點,謝謝
你的字寫得很工整很漂亮呀,我的字醜的沒法看 計算能力是要慢慢做出來的 善言而不辯 f x 1 3x 1 x 2 x 1 2x x x 1 x 1 3x 1 x 4x x x 1 x 1 6x x 1 x 駐點x 3 2 2 x 3 2 2 代入,極大值 極小值 lim x f x 0 最大值 最小值...