C語言高手幫幫忙,請C語言版資料結構高手幫幫忙!

2021-08-19 17:42:01 字數 3869 閱讀 2744

1樓:御風__弄影

第一題中確實是錯的。

因為

指向的變數都賦有初值。

而x沒賦初值,用pb指向它時有不可預知的危險

2樓:a書影時光

(1)這個式子是錯的,應該寫成:*pb=x。因為第一句是定義語句,而一個語句的結束是以「;」結束,那「*pb=&x」就不屬於定義語句了,*pb在第二個語句的意思是指標變數pb指向的記憶體空間的值,所以是x。

第二個句子「 」*pk、*pm是在定義語句內,*pk、*pm的意思是定義一個變數是指標變數取值分別是k的地址和n的地址。

3樓:匿名使用者

第一個,你理解是錯誤的

首先在定義的時候,比如 int *a 這時的a代表,定義他為指標變數,前面的*只是為了說明,他是一個指標變數

而經過定義以後,在使用時,你用a就代表了,指標邊量,而你用*a就代表的是指標變數a所指向的變數

如 : int *a,b=3

a=%b

*a=3

第一行定義中*a就是說a 為一個指標變數

第二行中a就已經代表了一個指標變數,把b的地址賦給a中第三行*a和第一行的*a的意義是不同的,第一行的意思見上面,,第三行的*a的意思是指標變數a所指向的變數,也就是b,所以*a=3

4樓:聲宜節昊宇

去**網路上機那本書裡有原題,考試時間太久了,記不起來了,真不好意思

5樓:風捲

第二題結果是24

其實是2和4,中間沒有空格,所以變成了24.

也就是輸出a陣列的前兩個元素a[0]和a[1]。

第六題17

第七題8,17

第八題2,5,1,2,3,-2

第九題9

第十題1.10

備註,第**十題程式均有錯誤,lz你程式設計時注意不要用中文輸入法下的()當成英文輸入法下的()用,還有「和"不等。。。

請c語言版資料結構高手幫幫忙!

6樓:匿名使用者

第一題:

#include

struct list

head=;

void push(struct list *head,int num)

;struct list *p1=new list;

p1->num=num;

p1->next=p->next;

p->next=p1;

>next->num<=num1)

;q=p;

p=p->next;

while (p&&p->numnext;

delete q1;

}q->next=p;

}void print(struct list *head)

}void main()

while(num);

for (int j=0;j>num;

change(num,str);

cout<

struct list

head1=,head2=,head3=;

void push(struct list *head,int num)

;struct list *p1=new list;

p1->num=num;

p1->next=p->next;

p->next=p1;

} void print(struct list *head)

}void hebing(struct list *head1,struct list *head2,struct list *head3)

>numnum))

else

struct list *p=new struct list;

p->num=p4->num;

p->next=p3->next;

p3->next=p;

p3=p3->next;}}

void main()

//最近要考試,有空把後面幾個寫給你。

//妄我專門騰出那麼多時間幫你寫。竟不加分。

7樓:匿名使用者

這種題目好好看看課本就可以做出來的。還是自己學吧。

c語言高手,幫幫忙

8樓:

(1) a=a+b,b=a-b,a=b

先把a+b賦值給a,即 a=a+b 那麼要交換a,b的值,所以 b=a-b(這裡的a-b,其實就是原來的a的值),然後a 自然就等於b了 所以就是 a=b

(7) k,5

因為程式中的語句是順序語句所以先執行st=st+i; 則st=75 因為要以字元型顯示,所以a的ascii碼是65,那麼大寫字母的ascii碼規則是逐個增一,所以到75,就是字母k

然後在執行i=st%i,因為初值i=10,經過執行第一句後st=75,所以i=75%10 ,所以是5

(8) !(非) &&(且) ||(或)

(9) 1,2,3

因為if的條件是a>c,那麼要當a>c成立的時候,才執行後面的語句,但是初值給出了a=1,c=3,所以,不執行後面的語句,所以還是現實原來的值

(10) %#

x=0;y=2;z=3;

switch(x)

case 1:switch(z)

}(3分)

這個題,因為x=0,所以執行case 0 中的語句,然後在case 0中 有switch(y==2) 所以執行case 2 中的語句 顯示% 然後由break返回執行下一個語句 case 1:switch(z) ,因為z=3 ,而case 語句中沒有case 3,所以執行default:printf(「#」);

所以顯示結果是 %#

(14) 585858

執行過的,答案是 585858

因為三條if語句的條件,58都滿足

(15) x=20,y=0

如果條件是x!=y 那麼答案是x=20,y=10

(16) 執行結果是28

(17) 執行結果是11

9樓:塞以杉

第一題:a=b+a;b=a-b;a=a-b;

第七題:k,5

第八題:!,&&,||

10樓:匿名使用者

懸賞分:10 - 離問題結束還有 14 天 22 小時以下程式不用第三個變數,實現將兩個數進行對調操作:

#include

main()

(3分)

答: 7. 寫出該程式執行的結果。

main( )

char st='a';

int i=10;

st=st+i;

i=st%i;

printf("%c,%d\n",st,i);}(已知字母a的ascii碼為65)(3分)答: 8. 在c語言中,邏輯運算子的優先順序別是——,——,——。(3分)

答: 9. 當a=l,b=2,c=3時,以下語句執行後a、b、c中的值分別為——、——、——。

if(a>c)

b=a;a=c;c=b;(3分)

答: 10. 若變數已正確定義,以下語句段的輸出結果是——。

x=0;y=2;z=3;

switch(x)

case 1:switch(z)

}(3分)

答: 11. 若有定義:int a=10,b=9,c=8;,接著順序執行下列語句255來執行這個程式。(3分)

會c語言的幫幫忙

1 include stdio.h int main printrf d sum return 0 2 include stdio.h int main printf f n d n ptr max max xchg ptr max ptr max ptr n 1 ptr n 1 xchg xchg...

C語言程式設計題,大佬幫幫忙,謝謝,C語言程式設計題求大佬幫忙解決一下謝謝了

給你思路 bai,用迴圈巢狀,控制其du中一類人的 數zhi量變化,例如男人則dao用遞減回 或者加來算 磚數 男人數答 3 磚數 男人數 3 女人數 2 磚數 男人數 3 女人數 2 小孩數 2 0時輸出格類人數3個迴圈巢狀 至於喜歡的條件如果是遞加就是小於等於最大值反之大於等於0。按照你的要求編...

在資料結構c語言版中,和的用法是什麼?謝謝

是宣告指標是所用。是取地址符,如 a,此時取到a的地址 是邏輯與,例如 a b,若ab同時為1,a b 1,有一個是0,a b 0 望採納!在c語言指標中 表示變數為指標和取值的 表示取地址 是指標的意思,當然也可以解開指標。那個 可是引用或者取地址用。用再指標定義中 是取地址,用法例如scanf ...