求大神幫我解釋下這個c語言題目「完美的代價」

2022-03-15 16:55:12 字數 3041 閱讀 5544

1樓:匿名使用者

簡單說下

n是字串下標,

n1裡面沒看到用,

x是相同字元的計數器x為奇數時,則回文串有中間的單一字元,x為偶數時,則無中間單字元;

y為記錄單一字元的,若輸入串中有2個單一字元(y==2成立),則輸入串不能成為回文串;

m為記錄交換次數;i是操作用的下標;

j是i+1以後的字元下標(初始值是i的對稱);

k為b[27]的下標記錄串中的回文字元數;

tong為了避免重複操作;

*a為輸入的串;

b[27]記錄已經排好的字元;

ch為交換時的臨時變數;

dan為 記錄單一字元(如試例中的d)

大for中的第乙個for是判斷輸入串是否能成回文串,是否有中間單一字元,有則找出;

之後 有中間字元dan,使它向n/2移動;最後的2個for是 使輸入串前後回文。

小弟不才 僅於此

解出並解釋一下c語言的這個題目(完美的代價)

求大神幫我看看這個c語言的題目,謝謝啦

誰能幫我解釋一下這道c語言題目啊 不懂

2樓:匿名使用者

程式有點問題

stryct w改為struct w

printf("highvalue:%02x\n",byte.high);

改為printf("highvalue:%02x\n",uu.byte.high);

這個程式就是給乙個位址附上值1234,然後輸出這個這個值1234, 然後又按高位低位分別輸出12和34

最後把這個值的低位改成ff,再輸出這個值12ff

3樓:匿名使用者

這個是結構體跟共用體的關係

基本上是這樣的

結構體是每個位元組都有自己的內錯空間

而共用體 是所有的功用一片沒存空間

你現在給uu.word 賦值1234的話就是共用體整個是1234,因為整個共用體 都是在用word申請的記憶體,也就是4個位元組,四個位元組的前兩個位元組就是結構體所佔有的,也就是說low和high各佔乙個,

列印結果是:word= 1234,high=03,low = 04,最後的那個是12ff

希望對你有幫助

4樓:匿名使用者

union 共享記憶體段的 所以 byte 和 word 實際上指向同乙個記憶體位址 對 uu.word==0x1234;的賦值

也會對byte進行賦值,由於在記憶體中 高低自己是反著存的 所以 low=32 high=12

結果如下

wordvalue:1234

highvalue:12

lowvalue:34

wordvalue:12ff

5樓:匿名使用者

不是stryct w,應該是struct w;不是printf("highvalue:%02x\n",byte.high);應該是printf("highvalue:

%02x\n",uu.byte.high);這裡重點要理解union的含義,union是聯合,用它定義的時候所佔空間的大小是按裡面聯合體最大的來算的。

這裡w是兩個位元組,word是整形四個位元組。所以uu佔四個位元組,這四個位元組到底什麼意思,如果看成word那就是和普通int一樣。如果看成w那就是兩個位元組了,而這兩個位元組又有low和high兩個部分。

6樓:想了一半個小時

輸入乙個八進位製數,輸出帶符號八進位製數,分別輸出高位和底位。關鍵是聯合體每次只能儲存乙個值。byte.high是不是要改成uu. byte. high。

7樓:匿名使用者

格式這麼亂,怎麼看啊…………

c語言題目。這道題看不懂。。求大神詳細解釋下,謝謝

8樓:匿名使用者

答案選b。

定義結構體陣列c

未執行f(c)時,c[0]為 qian,f,95,92 c[1]為 sun,m,98,99

執行f(c)時,將c作引數傳遞

執行f(c)後將c[1]的值改變為 zhao,m,85,90f()函式作用就是對c[1]重新賦值

求大神填一下這道c語言的題目

9樓:匿名使用者

#include

void main()

puts(a);

}// 我總感覺你打錯了啥,比如很明顯i沒有初始化就使用了,我也就只能改改題目做了...

求這個c語言題目的解題思路和解法?

10樓:龔煒林

你只要思

bai路?可以使用圖結du構,鄰接表儲存zhi方式。把數dao據處理好以後,一旦輸出某專個編號,然屬後找到對應編號,對圖進行深度搜尋。可以使用深度優先,廣度優先也可以。

樓主也不追問一下,你追問了,回答的才知道是否還有回答的必要。

下面的程式大致能實現,但是還是不清楚你程式的用途,比如是什麼自測平台的話還得看輸入輸出格式,其它的話還得增加對錯誤的判斷,比如記憶體申請失敗,記憶體是否多餘等等。

程式見附件。

幫忙做下這個c語言題目

11樓:

a%3=1

(int)(x+y)=7 (int)是強制轉換,將double的浮點型資料轉換為整形的資料

所以a%3*(int)(x+y)=7

7%2=1

1/4=0 因為是整除,所以要去掉小數點後的資料x+0=2.5

希望對你有幫助。

12樓:空對空飛彈

x+a%3*(int)(x+y)%2/4=2.5+1*(int)(7.2)%2/4=2.5+1/4=2.5+0=2.5

13樓:匿名使用者

a%3=1 (int)(x+y)=7→→→→1*7=7→→→7%2=1→→→→→1/4=0→→→→x+0=2.5,所以結果是2.5

C語言題目,求大神解析,C語言程式設計題目,求大神解析!

程式1,輸出 a972 include union example uni a int main 程式2,輸出 8 12 20 include int f int a int main 樓主沒有執行環境?dev c 就不錯!不一定非要 mfc1 結果 a 97 2 2 結果 8 12 20 c語言程...

關於c語言的題目,如圖,求大神詳細解釋,謝謝

include。部分是c語言中的一些庫,如果不引用這些庫函式下面log 函式和sqrt 函式就無法使用 double fun int m 定義乙個帶int 型別引數m,函式名為fun,返回值型別為duoble的函式 下面是函式的內容定義int型變數作為迴圈的計數器,還定義了乙個double型別的變數...

關於C語言的題目不明白如圖求大神解釋一下答案已附上

結果是0,0 這個bai題目錯了,第乙個switch duy 應該是x才對。zhi題目主要考查學生是否dao理解break的用專法,如果找到屬的第乙個匹配項,其後面沒有break語句,後面的語句會被執行,直到break為止。如題,x 1,匹配,執行case1下的內容,而case1下沒有break,所...