




免費預覽已結束,剩余22頁可下載查看
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
精品沈陽理工大學 (信息科學與技術學院)2013/12/31C語言課程設計成 績 評 定 表學生姓名班級學號專 業電子信息工程課程設計題目C語言課程設計任務(三十一)數組應用、查找字符、旅游景點信息管理程序的設計評語組長簽字:成績日期 20 年 月 日課程設計任務書學 院信息科學與工程學院專 業電子信息工程學生姓名馬斌班級學號1303030331課程設計題目C語言課程設計任務(三十一) 數組應用、查找字符、旅游景點信息管理程序的設計實踐教學要求與任務:1. 編寫函數,求一個二維數組兩條對角線上元素的最大值和最小值;主函數中初始化一個4X4的數組,輸出該數組,并調用函數后,輸出結果。2. 請編寫一個函數fun(char *s, char c),其功能是:求出s所指字符串中,包含c中字符的個數。例如,若輸入字符串為:1234aasdd233, 輸入的字符為3, 則輸出 3 。3. 旅游景點信息管理程序設計設計結構體數組,結構中包數據為:編號、景點名稱、旅游地名、所需費用等。設計各個函數,分別實現以下功能: (1)輸入數據 (2)顯示所有信息 (3) 輸入旅游地名,顯示符合該條件的記錄,并所需總費用。設計菜單,通過選擇菜單調用以上各函數。工作計劃與進度安排:第一天:開題,系統設計。第二天:設計數據庫,設計網頁。第三天:編碼實現,測試系統。第四天:書寫設計報告。第五天:系統評價、驗收、答辯。指導教師: 201 年 月 日專業負責人:201 年 月 日學院教學副院長:201 年 月 日1 數組應用1.1 題目內容41.2 算法框圖41.3 源程序及注釋41.4 運行結果72 查找字符72.1 題目內容72.2 算法框圖82.3 源程序及注釋82.4 運行結果93 旅游景點信息管理程序的設計93.1 題目內容93.2 算法框圖93.3 源程序及注釋113.4 運行結果134 總結14參考文獻14 1.數組應用1.1題目內容編寫函數,求一個二維數組兩條對角線上元素的最大值和最小值;主函數中初始化一個4X4的數組,輸出該數組,并調用函數后,輸出結果。1.2算法圖框圖1.1為數組應用算法圖框1.3源程序及注釋#include#define N 4void max(int strN)int i,j,m1,m2;int str1N=0,str2N=0; /*定義了兩個一維數組,負初值為0,用于承載量對角線上的數*/for(i=0;iN;i+) /*兩層循環,用于查找*/for(j=0;jN;j+)if(i=j) /*查找主對角線數,行標等于列表*/str1i=strij; /*將二維數組的主對角線數依次負給一維數組*/if(i+j=N-1) /*查找副對角線數*/str2i=strij;m1=str10;for(i=1;iN;i+)if(m1str1i) /*if語句,用于尋找最大值*/m1=str1i; /*將最大值負給m1*/m2=str20;for(i=1;iN;i+)if(m2str2i)m2=str2i;printf(主對角線中最大值:%dn,m1);printf(副對角線中最大值:%dn,m2);void min(int strN)int i,j,m1,m2;int str1N=0,str2N=0;for(i=0;iN;i+)for(j=0;jN;j+)if(i=j)str1i=strij;if(i+j=N-1)str2i=strij;m1=str10;for(i=1;istr1i)m1=str1i;m2=str20;for(i=1;istr2i)m2=str2i;printf(主對角線中最小值:%dn,m1);printf(副對角線中最小值:%dn,m2); void main() int strNN=0; /*定義一個二維數組用于承載輸入數據*/ int i,j; printf(請輸入一個%d*%d的數組:n,N,N); for(i=0;iN;i+) /*外層循環控制行數*/ for(j=0;jN;j+) /*內層循環控制輸入數據*/ scanf(%d,&strij); printf(該數組是:n); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,strij); printf(n); /*每輸出四個輸出一個換行符*/ max(str); /*調用函數,求對角線最大值*/ min(str); /*調用函數,求對角線最小值*/1.4運行結果 圖1.2 為數組應用結果運行結果截圖2.查找字符2.1題目內容請編寫一個函數fun(char *s, char c),其功能是:求出s所指字符串中,包含c中字符的個數。例如,若輸入字符串為:1234aasdd233, 輸入的字符為3, 則輸出 3 。2.2算法圖框 圖2.1為查找字符算法圖框2.3源程序及注釋#include#define N 50int fun(char *s,char c) /*定義了一個指針型數組變量,一個字符*/int n=0;while(*s!=0) /*while循環用于循環結構的結束*/if(*s=c) /*if語句用于判斷指針指向的字符是否與輸入字符相同*/n+; /*n計算要統計字符的個數*/s+;return n;void main() char strN,ch; int num;printf(請輸入一串字符串:);gets(str);printf(請輸入一個字符:);scanf(%c,&ch);num=fun(str,ch); /*調用函數*/printf(%c在字符串%s中出現的次數是:%d次n,ch,str,num);2.4程序結果圖2.2 字符查找的運行結果截圖3.旅游景點信息管理程序設計3.1題目內容設計結構體數組,結構中包數據為:編號、景點名稱、旅游地名、所需費用等。設計各個函數,分別實現以下功能: (1)輸入數據 (2)顯示所有信息 (3) 輸入旅游地名,顯示符合該條件的記錄,并所需總費用。設計菜單,通過選擇菜單調用以上各函數。3.2算法圖框 圖3.1.1為旅游景點信息管理程序設計主調函數算法圖框圖3.1.2為旅游景點信息管理程序設計被調函數查找部分算法圖框3.3源程序及注釋#include#include#define N 20struct travel int num; /*定義整型變量num表示編號*/ char sightN; /*定義字符串數組,用于承載景點名稱*/ char addressN; /*定義字符串數組,用于承載旅游地名稱*/ int price; /*定義整型變量price表示所需費用*/;int n=0;struct travel tN;void set(struct travel *p) /*此處為被調函數,用于數據輸入*/ printf(第%d個旅游地點:n,n+1); scanf(%d,&pn.num); scanf(%s,&pn.address); scanf(%s,&pn.sight); scanf(%d,&pn.price); pn.num=n+1; n+;void show(struct travel *p) /*此處為被調函數,用于顯示所有輸入信息*/ int i=0; printf(n編號t景點名稱t旅游地名t所需費用n); for(i=0;in;i+) /*for循環,用于控制輸出*/ printf(%dt%stt%st%dn,pi.num,pi.sight,pi.address,pi.price); void fun(struct travel *p) /*此處為被調函數,用于查找信息*/ char sortN; /*定義一個字符串數組,用于承載需查找的旅游地名*/ int m=0; printf(n請輸入旅游地名:); scanf(%s,sort); printf(n編號t景點名稱t旅游地名t所需費用n); for(m=0;mn;m+) if(!strcmp(sort,pm.address)/*比較所輸入旅游地名與指針指向的字符串是否相同*/ printf(%dt%stt%st%dn,pm.num,pm.sight,pm.address,pm.price); void main() int a; Do /*dowhile循環控制程序運行于結束*/ printf(n*請選擇菜單*n); printf(n1.輸入數據 2.顯示所有信息 3.顯示符合條件信息n); printf(n輸入一個數字:); scanf(%d,&a);switch(a) /*switch()結構,用于選擇調用哪個被調函數*/ case 1:set(t); break; case 2:show(t); break; case 3:fun(t); break; default:printf(not fountn); while(1);3.4運行結果圖3.3為旅游景點信息管理程序的設計的運行結果截圖4. 總結我的課程設計是數組應用、查找字符、旅游景點信息管理程序的設計。經過近兩天的設計和同學的幫助,我的程序終于完成了!達到了要求的目的。對于我們這些新手來說,這是很大的考驗,我一次次的問自己,怎么才能找到課堂所學與實際應用的最佳結合點?怎么才能讓自己的程序在篇幅上簡單,在使用價值上豐富?怎樣讓自己的計劃更具有序性,而不會忙無一用?經過自己的琢磨,聽取了同學的建議,還查閱了很多書籍,才做到了心中有數,才了解了C語言課程設計的真正用意培養自學能力,養成程序編輯的好習慣。我從來不相信車到山前必有路的說法,認為那只是懶惰者自尋懶惰的借口,我要積極,要把握,要努力。我們自己能做到的僅此而已,因為人力也有所不能及。在課程設計過程中,我學到了很多人生的哲理,懂得怎么樣去制定計劃,怎么樣去實現這個計劃,并掌握了在執行過程中怎么樣去克服心理上的不良情緒,黑夜過去了,我們收獲的是黎明。在本次實踐中,給我印象最為深刻的是在文件刪除程序的編譯過程中,先有我的各個子程序都已經編輯成功,那么這最后的程序就將是我成功的關鍵。老天不會讓我太過順利,他在這最后的時刻設置的障礙,是要考驗我的能力,他要置我于死地?在這個問題的解決上,我打了退堂鼓,我不能忍受長時間的無功而反,時間正在消磨我的意志。沒有了柳暗花明的一天,那么我怎么能說經受住了考驗?謝謝老師的那句話,她說:人力有所不能及,然而,人的精神是不會敗倒的。我鼓起勇氣,到處問,到處查資料,黃天不負有心人,在一篇文章上,終于看到了我所特別要求的函數,我實現了組合是關鍵的理論。不得不說這是精神的勝利,是永不言敗的精神讓我奪得勝利。謝謝給我指點迷津的老師!5.參考文獻 馬秀麗,劉志嫵,李筠C語言程序設計北京清華大學出版社C語言課程設計任務(三十一)題目名稱:數組應用、查找字符、旅游景點信息管理程序的設計內容及要求:5. 編寫函數,求一個二維數組兩條對角線上元素的最大值和最小值;主函數中初始化一個4X4的數組,輸出該數組,并調用函數后,輸出結果。6. 請編寫一個函數fu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫療質量及醫療安全教育培訓專題計劃
- 路南教師選聘面試題及答案
- 2025年 邯鄲市曲周縣招聘城市管理協管員試卷附答案
- 學校食堂培訓
- 溝通技能培訓課件
- 腫瘤藥物的分類
- 商務部培訓資料
- 畜牧環保培訓課件
- 酒店關于人身安全培訓
- 腫瘤專科結業答辯
- 寶媽日常心理護理
- 2025年社會學概論測試題含答案(附解析)
- 安全檢查作業行為規范與專業知識 -改
- 學校信息化建設十五五規劃方案
- 2025年保險專業知識能力測試題及答案
- 小學民法典主題班會教案
- 電機學II知到智慧樹章節測試課后答案2024年秋廣東工業大學
- JT-T-1178.2-2019營運貨車安全技術條件第2部分:牽引車輛與掛車
- 三基訓練習題集-風濕免疫科(題目及答案)
- 無損檢測射線常見缺陷圖集
- 冷卻塔填料施工組織設計方案和安全措施
評論
0/150
提交評論