c語言問題幫我分析一下這道題的思路請教好的

2021-05-02 22:17:48 字數 3091 閱讀 3219

1樓:

我對程式註釋了一遍,把有問題的地方,按我的理解進行了改動,更改後如下:

#include

#include

#define n 8

//定義一個結構體,結構體包含一個變數和一個指標,併為之重定義型別為slist

typedef struct list

slist;

//定義一個函式,如果值比x大,則改為2

void fun(slist *h, int x)//插入一個值

s->next=p;

q->next=s;

}//定義一個建立連結串列的函式

slist*creatlist(int *a)//把最後的鏈結賦為null,並返回

p->next=null;

return h;

}//定義一個連結串列輸出函式

void outlist(slist *h)while(p!=null);

printf("->end\n");}}

main()

;//建立一個連結串列,把返回值賦給h

head=creatlist(a);

printf("\nthe list beforeinserting:\n");

//輸出連結串列值

outlist(head);

printf("\nenter a number : ");

//輸入一個值,並根據這個值,來修改連結串列中某些數的值scanf("%d",&x);

fun(head,x);

//輸出插入值

printf("\nthe list after inserting:\n");

outlist(head);}

2樓:倒黴熊

把形參x的值放入一個新結點.

所以 s這個新結點的data為x的值,所以 第一個空 為x。

第二個空 為按連結串列順序後移,所以 q指向p,p指向p的下一個結點,依次這樣下去,直到找到 q指向的節點的值大於x,p的值小於x。

所以 第二個空為 p。

第三個空為 s,將s加入到 q和p之間

3樓:救贖削腎客

這是最常見的演算法了,對一個有序的連結串列進行操作。

先將x與連結串列中的元素進行比較,當剛第一個大於或等於的前面的地方插入該元素!

求個c語言大神幫忙看一看這題!! 最好幫我解釋一下是什麼意思???

4樓:匿名使用者

這麼多人回答,看來你這道題確實太簡單了,

首先看題目,要求能算出3*3陣列中對角線上的數字和,也正好是對應陣列中的a00,a11,a22,

在大致看下填空,int定義變數,後面空了,那就是要定義變數,再往後看就看到sum憑空出現,那這裡一定是定義sum

後面用了for迴圈,用變數i來對應我們要加起來的a00,a11,a22,注意不是一次加起來,是迴圈一次加一次,3次迴圈完才加起來的,那麼迴圈語句就是sum=sum+a[i][i];

再回頭看看,要給sum定義初值0才能達到累加的效果,所以第一空 sum=0;

第二空 =sum+a[i][i];

注意標點符號都不能錯,表示語句結束

5樓:老子很涼

1,第一空 sum,第二空a[i][i]

2.元素之和sum沒定義呢,所以第一空如上。

求3*3矩陣的對角線元素sum=a[0][0]+a[1][1]+a[2][2],所以答案如上。

6樓:六翼幻世

第一空是sum=0,定義好sum變數,並把變數的值初始化為0

第二空是a[i][i],對角線上的元素,也就是行列相等的,所以迴圈去把二維陣列裡兩個下標相同的是變數的值加起來

7樓:自我程式設計

sum是累加變數,所以第一個空需要定義sum並初值0,填sum=0;

a是3x3的二維陣列,對角線元素分別是:a[0][0],a[1][1],a[2][2].

所以迴圈累加那裡填a[i][i];

#include

int main()

;int sum=0;//第一個填空

int i;

for(i=0;i<3;i++)

sum+=a[i][i];//第二個填空

printf("sum=%d",sum);

return 0;}

8樓:匿名使用者

sum=0

由於明顯成效中sum沒有定義因此填空需要定義此變數,並且作為累加變數沒有在程式中賦初值,因此需要在此空中完成初值為0的賦值

a[i][i]

題目中的行號和列號相同的要求,於是用i作為行號和列號訪問對角線元素

9樓:藍

sum累加對角線的數,定義賦初值為0;

int sum = 0;

for迴圈進行累加:

sum += a[i][i];

該語句等效於sum = sum + a[i][i];

10樓:匿名使用者

int sum=0

a[i][i]

c語言這道題目不會做,哪位好心人幫幫我。

11樓:匿名使用者

switch(y)裡面語句的break;是跳出該switch的分支的;因為switch(x)的case1沒有break;所以接著執行case 2;

12樓:匿名使用者

#include

void main()

break;//這裡加一個break就好

專了屬case 2:printf("title3 \n");}}

13樓:大狂哥灬

break是跳出switch執行以後的語句

跳出case0之後自然就會執行case2

c語言問題,誰來幫我做一個系統,做好的加分! 20

14樓:匿名使用者

需求不完整,沒法做的。班級成績管理系統,包括哪幾門,可不可以修改,需要有查詢功能嗎?等等

幫我解一下這道題謝謝,幫我解一下這道題,謝謝,急急急

這位同學,相似三角形的判定定理是1,三條對應邊成比例2,三個對應角相等3,兩邊對應成比例,夾角相等,4,兩角相等,夾邊對應成比例,希望對你有所幫助!望採納!兩個三角形都是相似的,詳細過程請見 都是相似的,第一題是因為三邊的比相等,第二題是因為直角三角形裡一條直角邊和一條斜邊的比相等,請採納。1 相似...

幫我解一下這道物理題,謝謝,幫我看一下這道物理題 謝謝

表述有問題 畫不出圖?誰在上誰在下 怎麼連線 你說的有點亂,不過好像應該是這樣的 f 4m g 幫我看一下這道物理題 謝謝 是4攝氏度。水有反常膨脹的性質。在4 100 之間是熱脹冷縮,但專在0 4 之間是熱縮冷脹。屬當氣溫在4 之上時,水面的水空氣被冷卻後體積收縮,密度變大,會向下降,而河底溫度較...

誰能幫我解一下這道題

解 2x y 1.5 1 3.2x 2.4y 5.2 2 根據以上公式得出 y 1.5 2x 將y代入2式 3.2x 2.4 1.5 2x 5.2 3.2x 3.6 4.8x 5.2 0 3.2x 4.8x 3.6 5.2 0 1.6x 1.6 0 1.6x 1.6 x 1 將x 1代入y 1.5 ...