C語言課程設(shè)計上機報告_第1頁
C語言課程設(shè)計上機報告_第2頁
C語言課程設(shè)計上機報告_第3頁
C語言課程設(shè)計上機報告_第4頁
C語言課程設(shè)計上機報告_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 c語言課程設(shè)計學(xué) 院: 機械與電子信息學(xué)部 專 業(yè):機械設(shè)計制造及其自動化 班 級: 機械一班 學(xué) 號: 姓 名: 指導(dǎo)教師: 2011年6月目 錄第一章 選擇和循環(huán)程序設(shè)計第二章 數(shù)組第三章 函數(shù)第四章 指針第五章 課程設(shè)計總結(jié)第一章 選擇和循環(huán)程序設(shè)計1、輸入變量x的值,計算y的值。 x+1 x1 x+2 1=x2 y = x+3 2=x=3【算法分析】(用文字或流程圖進(jìn)行描述) 用if語句檢查x的值,根據(jù)x的值域決定y值。由于y的可能值不是兩個而是四個,因此不可只用就一個簡單的if語句來實現(xiàn),可先后用4個獨立的if語句處理:輸入x若x1,則y=x+1若1=x2,則y=x+2若2=x=3

2、,則y=x+4輸出y【源程序代碼】#includeint main() float x,y; scanf(%f,&x); if(x=1&x=2&x3) y=x+3; else y=x+4; printf(x=%f,y=%fn,x,y); return 0;【編譯示圖】(示圖中要有0 error,0 warning的提示)【運行結(jié)果示圖】2、猜數(shù)游戲。由計算機“想”一個數(shù)請人猜,如果猜對了,則游戲結(jié)束,否則計算機給出提示,告訴人所猜的數(shù)是太大還是太小,直到猜對為止。計算機記錄人猜的次數(shù),以此可以反映出猜數(shù)者“猜”的水平?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)對此,可以先定義一個數(shù)值,然后再輸入猜

3、想值,把猜想的值與定義的數(shù)值比較,通過比較給出提示信息,可用while語句處理,若猜想值與定義值不等,則始終循環(huán)輸入判斷,直到猜想值正確,并積累輸入次數(shù)?!驹闯绦虼a】#includeint main() float x,n=88.0; int i=1; scanf(%f,&x); doif(xn) printf(猜想值太大,請重新輸入:n); scanf(%f,&x); i+; while(x!=n); printf(good!%f,i=%dn,x,i); return 0;【編譯示圖】(示圖中要有0 error,0 warning的提示)【運行結(jié)果示圖】3、若一個口袋中放有12個球,其中有

4、3個紅色球,3個白色球和6個黑色球,從中任取8個球,問共有多少不同的顏色搭配?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)可以用循環(huán)嵌套來處理,取出的8個球中,如黑色和紅色的球都取出來了,那黑球至少得取出兩個,直到取出的球的總數(shù)為8時,停止取球,最后輸出總數(shù)即可【源程序代碼】#includevoid main()int i,j,p,m=0,sum=8;for(i=0;i=3;i+)for(j=0;j=3;j+)for(p=2;p=6;p+)if(sum=i+j+p) m+;printf(搭配總數(shù)為:%dn,m);【編譯示圖】(示圖中要有0 error,0 warning的提示)【運行結(jié)果示圖】第二章

5、 數(shù)組1、某班有10名學(xué)生參加全國計算機等級考試,編寫一個程序求該班學(xué)生考試成績的平均分和高于平均分的人數(shù)?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)使用一個一維數(shù)組,輸入10個學(xué)生的成績。使用函數(shù),求平均數(shù)、【源程序代碼】#includeint main()int i,a10,n=0;float aver,sum=0.0; printf(please enter ten number:n); for(i=0;i10;i+) scanf(%d,&ai); sum=sum+ai; aver=sum/10; printf(平均成績%.2fn,aver); for(i=0;iaver) n+; prin

6、tf(超過平均成績?nèi)藬?shù)%dn,n); return 0;【編譯示圖】(示圖中要有0 error,0 warning的提示)【運行結(jié)果示圖】2、定義一個含有30個整型元素的數(shù)組,按順序分別賦予從2開始的偶數(shù);然后按順序每5個數(shù)求出一個平均值,放在另一數(shù)組中并輸出?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)確定兩個數(shù)組,使用for循環(huán)語句嵌套、【源程序代碼】#includeint main()int i,j,a30,b6,aver6,sum6=0; for(i=0;i30;i+)ai=2*(i+1); for(i=0;i5;i+) sum0=sum0+ai; aver0=sum0/5; for(i=5

7、;i10;i+) sum1=sum1+ai; aver1=sum1/5; for(i=10;i15;i+) sum2=sum2+ai; aver2=sum2/5;for(i=15;i20;i+) sum3=sum3+ai; aver3=sum3/5; for(i=20;i25;i+) sum4=sum4+ai; aver4=sum4/5; for(i=25;i30;i+) sum5=sum5+ai; aver5=sum5/5; for(j=0,i=0;j5,i5;i+,j+) bj=averi; printf(%dn,bj);return 0;【編譯示圖】(示圖中要有0 error,0 war

8、ning的提示)【運行結(jié)果示圖】第三章 函數(shù)1、有一個一維數(shù)組score,內(nèi)存放10個學(xué)生的成績,要求編寫三個函數(shù)分別求學(xué)生的平均成績,求10個學(xué)生的最高分,求10個學(xué)生的最低分?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)調(diào)用一個函數(shù)可以得到一個函數(shù)的返回值,題目希望得到3個結(jié)果,故可以使用全局變量來達(dá)到要求、【源程序代碼】#include#define max 10void deal(int *a,int b)int i;int sum,max,min,temp;min=max=sum=a0;for(i=1;ib;i+)temp=ai;if(tempmax) max=temp;sum+=temp

9、;printf(the max num is: %dn,max);printf(the min num is: %dn,min);printf(the average is: %dn,sum/b);void main()int scoremax=86,89,98,79,90,45,75,56,88,56;deal(score,max);【編譯示圖】(示圖中要有0 error,0 warning的提示)【運行結(jié)果示圖】2、輸入年月日,求它是該年的第幾天。注:閏年的2月有29天,平年的2月有28天?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)此題包含了多種情況,使用case語句。包含各種情況,一一列舉編

10、程?!驹闯绦虼a】#includeint main(void) int month,year,day,sum,i=0; printf(input the year, the month and the day:n); scanf(%d %d %d,&year,&month,&day); switch(month) case 12: i=i+30; case 11: i=i+31; case 10: i=i+30; case 9: i=i+31; case 8: i=i+31; case 7: i=i+30; case 6: i=i+31; case 5: i=i+30; case 4: i=i

11、+31; case 3: i=i+28; case 2: i=i+31; case 1: ; default: ; sum=i+day; if(year%4=0&year%100!=0)|(year%400=0)&(month2) sum=sum+1; printf(the day is the %d day in %d yearn,sum,year); 【編譯示圖】(示圖中要有0 error,0 warning的提示)【運行結(jié)果示圖】3、用函數(shù)法求n*n的對角線的和。其中的n是用戶通過鍵盤輸入的任意值。【算法分析】(用文字或流程圖進(jìn)行描述) 因為n的值不能確定,聲明一個能足夠容量n的數(shù)組,然

12、后通過輸入n的值來確定輸出數(shù)組,要求的是對角線之和,只需要在i= =j時,即可求得對角線之和。【源程序代碼】#includeint main()int a1010=0,i,j,sum=0,n; printf(輸入n值:n); scanf(%d,&n); printf(輸入數(shù)組:n); for(i=0;in;i+) for(j=0;jn;j+) scanf(%d,&aij); for(i=0;in;i+)for(j=0;jn;j+) if(i=j) sum=sum+aij;printf(對角線之和為:%dn,sum);return 0;【編譯示圖】(示圖中要有0 error,0 warning的

13、提示) 【運行結(jié)果示圖】 第四章 指針1、已知一個整型數(shù)組a5,其各元素值為4,6,8,10,12。使用指針法求該數(shù)組元素之積。【算法分析】(用文字或流程圖進(jìn)行描述) 題目的要求是用指針法求積,所以要先使得指針變量p指向a數(shù)組的首元素,最后通過*p來求數(shù)值數(shù)值之積?!驹闯绦虼a】#includeint main()int a5=4,6,8,10,12;int m=1,*p; for(p=a;p(a+5);p+)m=m*(*p); printf(%dn,m);return 0;【編譯示圖】(示圖中要有0 error,0 warning的提示)【運行結(jié)果示圖】 2、編寫兩個排序函數(shù),要求一個函數(shù)完

14、成從小到大排序,一個函數(shù)完成從大到小排序,并編寫主函數(shù)完成: 輸入n個數(shù); 組織調(diào)用排序函數(shù)對n個數(shù)按從大到小排序并輸出; 組織調(diào)用排序函數(shù)對n個數(shù)按從小到大排序并輸出;【算法分析】(用文字或流程圖進(jìn)行描述) 在主函數(shù)中定義數(shù)組a存放10個整數(shù),定義int *型指針變量p指向a0。定義兩個函數(shù)sort分別使得數(shù)組a中的元素按從大到小和從小到大的順序排列。在主函數(shù)調(diào)用sort函數(shù),用指針變量p作實參。sort函數(shù)的形參用數(shù)組名。用選擇法進(jìn)行排序,最后的返回main函數(shù),輸出結(jié)果。【源程序代碼】#includeint main() void sort1(int x,int n); void sor

15、t2(int x,int n); int i,*p,a10; p=a; printf(輸入你想輸入的數(shù)組:); for(i=0;i10;i+) scanf(%d,p+); p=a; sort1(p,10); for(p=a,i=0;i10;i+) printf(%d ,*p); p+; printf(n); p=a; sort2(p,10); for(p=a,i=0;i10;i+) printf(%d ,*p); p+; printf(n); return 0; void sort1(int x,int n) int i,j,k,t; for(i=0;in-1;i+) k=i;for(j=i+1;jxk)k=j; if(k!=i) t=xi;xi=xk;xk=t; void sort2(int x,int n) int i,j,k,t; for(i=0;in-1;i+) k=i; for(j=i+1;jn;j+) if(xjxk)k=j; if(k!=i) t=xi;xi=xk;xk=t; 【編譯示圖】(示圖中要有0 error,0 warning的提示)【運行結(jié)果示圖】第五章 課程設(shè)計總結(jié)經(jīng)過一個學(xué)期的上機實踐學(xué)習(xí),使我對c語言有了更進(jìn)一步的認(rèn)識和了解,要想學(xué)好它要重在實踐,要通過不斷的上機操作才

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論