用鄰接表表示的圖的輸出 PrintGraph 的演算法 C語言

時間 2021-08-30 10:27:56

1樓:匿名使用者

單連結串列類中的輸出流函式過載,輸出連結串列

圖類中再次過載輸出流函式。

一次頂點表的迴圈,輸出。

結果:<,<。。。>>

c語言程式設計怎樣入門

2樓:匿名使用者

一、工欲善其事,必先利其器

這裡介紹幾個學習c語言必備的裝置和書籍:

a)開發環境

例如turbo c 2.0,這個曾經佔據了dos時代開發程式的大半個江山。但是現在windows時代,用turbo c有感覺不方面,編輯程式起來很吃力,並且拖放,更沒有函式變數自動感應功能,查詢參考資料也不方便。

建議使用visual c++,這個平臺雖然體積大,但是一旦安裝好了,用起來很方便。

b)一本學習教程

現在c語言教材多如牛毛,推薦大家使用《c語言程式設計》第二版。此書很適合初學者,並且內容也很精到。

c)利用輔助學習軟體

畢竟現在是windows時代了,學習軟體多如牛毛,這裡向大家推薦一個“整合學習環境(c語言)”,裡邊的知識點總結和例程講解都非常好,有好幾千題的題庫測試環境,包括一個windows下的trubo c,初學者甚至不用裝其它的編譯器,就可以練習程式設計了。還有一個“c語言學習系統”軟體,不過感覺只是一個題庫系統,如果你覺得題做的不夠,不妨也可以試試。

二、葵花寶典

學習計算機語言最好的方法是什麼?答曰:讀程式。

沒錯,讀程式是學習c語言入門最快,也是最好的方法。我們大家都應該有個體驗——在最初學習windows系統操作或microsoft words如果操作的過程中,剛開始總是正兒八經地買來教材,結果讀來讀去卻雲裡霧裡,而當我們將教材丟在一邊,拿起滑鼠反覆地試,幾個小時就搞定。包括學習j#,c#等其他語言,在今天的windows時代,也不再提倡抱著書本逐行啃,而是學習它們的例程。

當然,對於沒有學過任何計算機語言的初學者,多少要先閱讀教程,認真體會所有概念,然後不放過這一章中提到的所有例程,仔細研讀,直到每一行都理解了,再找幾個程式設計題目,最好是和例程類似的或一樣的,自己試圖寫出這段已經讀懂的程式。如果寫不出來,回過頭來再繼續研究例程,想想自己為什麼寫不出來,然後再去寫這段程式,反反覆覆,直到你手到擒來為止。

三、登峰造極

寫程式的最高境界其實就是掌握各種解決問題的手段(資料結構)和解決問題的方法(演算法)。

是不是寫出底層程式就是程式設計高手呢?非也,寫底層程式,無非是掌握了硬體的結構,況且硬體和硬體還不一樣,要給一個晶片寫驅動程式,無非就是掌握這塊晶片的各種暫存器及其組合,然後寫值讀值,僅此而已。這不過是熟悉一些i/o函式罷了。

那麼怎樣才算精通程式設計呢?怎樣才能精通程式設計呢?舉個例子:

你面前有10個人,找出一個叫“張三”的人,你該怎麼辦?第一種方法:直接對這10個人問:

“誰叫張三”。第2種方法:你挨個去問“你是不是張三?

”,直到問到的這個人就是張三。第三種方法:你去問一個人“你認不認識張三,指給我看”。

不要小看這個問題,你說當然會選第一種方法,那麼恭喜你答對了,因為這個方法最快,效率最高,但是在程式設計中找到解決問題的最優方法和你用的手段卻是考驗一個程式設計師程式設計水平的重要標誌,而且是不容易達到的。剛才這個問題類似於資料結構和演算法中的:map資料結構,窮舉查詢和折半查詢。

所以掌握好資料結構和一些常用演算法,是登峰造極的必然之路。

3樓:終迎絲僕昕

剛開始學時,大家不用急著去程式設計序,先搞清楚程式的作用,寫程式的目的,搞清楚程式的大體結構,如果有條件的話在電腦上把書上的程式打幾遍,沒有電腦的話,就抄上幾遍,接著從最簡單的程式編起,比如寫個最簡單的小學應用題........

當對程式有了一定的認識的時候,在試著去編些比較複雜的(不是很複雜的。。相對來說)

程式設計序不要怕有錯誤,每一個錯誤都是對你的一個提高,還有程式設計序要敢大膽的設想,就算結果是錯的.....

當你自己能編一個小小的程式時,那種成就感很大的。。。以後會對他越來約來感興趣的........

4樓:四川新華陳老師

相對於其他程式語言,c語言還是比較難的。初學者需要注意一下幾點:

一是學習順序

5樓:江西新華電腦學院

現在都是資訊化的時代,沒有一門好的技術是難以在社會之中立足的,

現在的電腦技術飛速增長,每家公司都需要電腦人才,你可以去學習電腦專業,

在這個領域中還是有很大的發展空間的,只要自己好好學習,以後的前景不可限量。

6樓:周幽

建議你這樣試試看:

1:看一看kr的c語言程式設計;

2:買一本關於資料庫的書學一下;

3:多做題,掌握一些經典c語言的解題技巧,比如漢諾塔等。

這樣做的好處:雖然笨拙,但是基礎會很堅固的。

注意事項:一定要堅持,學這個很容易感到枯燥乏味。

7樓:year醫海無邊

s是字元指標陣列。 對應4個字串。

迴圈中 i=3 2 1 0

對於不同的i,j有不同取值

3: 第一次判斷就不成立, 直接退出。 不做操作2: j=3

1: j=3 2

0:j=3 2 1

輸出的是s[i]+j

也就是 從s[i]字串的第j個字元開始輸出所以輸出是

while

akeak

tinue

ntinue

ontinue

8樓:匿名使用者

買一本有頭的書看一下,。再下一個軟體是c++就可以了。不會很難的。

9樓:beni花花

這種入門到工作的課程,現在人都可以直接在三人行慕課的平臺上學到的。

什麼c語言程式設計軟體適合初學者

10樓:匿名使用者

vc6.0 ,舊了。

codeblack,還可以。

cfree破解版,貌似不更新了。

vs2010。有點大。

linux下c語言程式設計(適應平臺有點困難),建議選哪個都行。都能練習c語言。

11樓:匿名使用者

對於咱們這樣的初學者用tc或者dev就夠用了,否則用高階的不僅不能增添能力,相反還會因為複雜的操作流程把本身簡單的問題弄複雜了,反而自造麻煩了。說白了 c編輯器只不過就是個工具罷了 把c知識學會了才是最關鍵的 就好比開車 只要把駕駛技術掌握了 拿到駕駛證了 至於是開寶馬 還是賓士 那就看個人喜好了

12樓:無法無天

devc++簡單實用,安裝完成的時候選擇中文就可以了

或者網上的c-free

龐大一點的就是vs系列,幾個g,一般裝vs2010以上

13樓:元元旦旦

如果你是初學,我還是建議你用turbo c,因為它就是一個針對c的程式設計環境.當然vc++6.0,2008之類的更通用,但是不適合初學.

因為它們本身的使用就需要你學習,而且不是特指c的.也就是說,你寫了一個正確的c檔案,但是不一定能在vc++上正確執行,因為你還要包含這樣那樣的標頭檔案.而這些在turbo c裡是內建的.

你可以選擇trubo c 3.0試試.

14樓:熙楊丶

我覺得適合初學者練習c語言是gx developer 體驗會很好

15樓:棲鳳婷

visual studio啊。2005,2008,2012版本都行

c語言程式設計**

16樓:匿名使用者

// microsoft visual c++ 2010學習版

#include

double add_thickness(double *thickness_ptr, int *times_ptr)

(*times_ptr)--;

return add_thickness(thickness_ptr, times_ptr);

}int main()

printf("紙張厚度應為:%f cm\n", distance);

// 檢驗add_thickness()正確性

times = 43;

printf("按上述厚度,地月距離

return 0;

}---

若紙厚度0.006cm,按題操作43次,紙高度遠大於地月距離386000公里!

若紙厚度0.004388cm,按題操作43次,紙高度等於地月距離386000公里。

程式執行結果:

17樓:匿名使用者

#include /*1

12112321

1211

*/int main()

// 列印菱形上半部分(包括中線)

for (i = 1; i <= n; i++)// 2. 列印升序的數: 123...

for (j = 1; j <= i; j++)// 3. 列印降序的數: ...21

for (j = i - 1; j >= 1; j--)// 4. 換行

printf("\n");

}// 列印菱形下半部分

for (i = n - 1; i >= 1; i--)// 2. 列印升序的數: 123...

for (j = 1; j <= i; j++)// 3. 列印降序的數: ...21

for (j = i - 1; j >= 1; j--)// 4. 換行

printf("\n");

}return 0;

}註釋詳細,條理清晰!

18樓:貫朝嚴水

樓主的這個程式是想輸入一個字串,然後算出其中的小寫字母個數、大寫字母個數以及數字個數,對吧?修改如下:

#include"stdio.h"/*你這裡差了標頭檔案了,不過你如果是在win_tc下編譯得就可以不用,不過還是養成習慣把標頭檔案寫進去的好*/

#define

n100/*定義字串的最大長度,你可以自己定義別的大小*/main()

}樓主如果覺得我答得不錯得話,記得給我加分哦……加油!

19樓:匿名使用者

#include

#include

int main(void)

return 0;

}#include

int main(void)

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

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

printf("  %d",sz[i]);

return 0;}

20樓:出家人詞悲

例如:輸入某年某月某日,判斷這一天是這一年的第幾天。

1.程式分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊

情況,閏年且輸入月份大於3時需考慮多加一天。

2.程式源**:

複製** **如下:

main()

sum=sum+day;  /*再加上某天的天數*/

判斷是不是閏年*/

leap=1;

else

leap=0;

if(leap==1&&month>2)/*如果是閏年且月份大於2,總天數應該加一天*/

sum++;

printf("it is the %dth day.",sum); }

怎麼把圖的鄰接表表示轉化為圖的鄰接矩陣表示

du瓶邪 鄰接表 adjacency list 是圖的一種鏈式儲存結構。在鄰接表中,對圖中每個頂點建立一個單連結串列,第i個單連結串列中的結點表示依附於頂點vi的鄰接表由兩部分構成 表頭結頭 表結點組成的單連結串列。鄰接表的表示意義為 對於圖g v,e 若 i,j e,則第i個表頭結點的單連結串列上...

用鄰接表表示圖進行深度優先遍歷時,通常採用()來實現演算法

痴情鐲 用鄰接表表示圖進行深度優先遍歷時,通常採用棧來實現演算法。鄰接表,儲存方法跟樹的孩子連結串列示法相類似,是一種順序分配和鏈式分配相結合的儲存結構。如這個表頭結點所對應的頂點存在相鄰頂點,則把相鄰頂點依次存放於表頭結點所指向的單向連結串列中。對於無向圖來說,使用鄰接表進行儲存也會出現資料冗餘,...

給出無向圖的鄰接矩陣,輸出各個頂點的度,要程式

include define int max 1000 define maxverticesnum 10int visited maxverticesnum typedef char vertextype typedef int edgetype typedef struct mgraph 建立圖 ...