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

下載本文檔

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

文檔簡介

1、«C程序設(shè)計課程設(shè)計學 院:專 業(yè):班 級:學 號:姓 名:指導教師:*2016年9月第 1 章 分支與循環(huán)設(shè)計任務(wù)1. 王小二自夸刀工不錯,有人放一張大地煎餅在砧板上,問他:“煎餅不許離開砧板,切100 刀最多能分成多少塊”2. 若一個口袋中放有12 個球 , 其中有 3 個紅色球 ,3 個白色球和6 個黑色球 , 從中任取 8 個球 , 問共有多少不同的顏色搭配,把每種搭配顯示出來。3. 輸入年月日 , 求它是該年的第幾天。注: 閏年的 2 月有 29天, 平年的 2月有 28 天。4. 簡單計算器。請編寫一個程序計算表達式: data1 op data2 的值。其中 op 為運

2、算符 +、- 、 * 、 /,data1 和 data2 是數(shù)據(jù)。5. 猜數(shù)游戲。由計算機“想”一個數(shù)請人猜,如果猜對了,則游戲結(jié)束,否則計算機給出提示, 告訴人所猜的數(shù)是太大還是太小, 直到猜對為止。 計算機記錄人猜的次數(shù), 以此可以反映出猜數(shù)者“猜”的水平。6. 一輛肇事汽車的號碼是4 位十進制數(shù)。目擊者向交警描述這個車號:這是一個完全平方數(shù);這 4 個數(shù)字從左至右一個比一個小。請幫助交警尋找肇事者,將車號算出來。實現(xiàn)過程設(shè)計任務(wù) 1 的實現(xiàn)過程【任務(wù)描述】1 王小二自夸刀工不錯,有人放一張大地煎餅在砧板上,問他: “煎餅不許離開砧板,切100 刀最多能分成多少塊”【算法分析】(用文字或流

3、程圖進行描述)用到數(shù)學中的逆推公式。 s=1+n*(n+1)/2【源程序代碼】#include <>main()int n,s;for(n=1;n<=100;n+)s=1+n*(n+1)/2;printf("%dn",s);( 示圖中要有0 error,0 warning 的提示 )【運行結(jié)果示圖】設(shè)計任務(wù) 2 的實現(xiàn)過程【任務(wù)描述】6. 一輛肇事汽車的號碼是4 位十進制數(shù)。目擊者向交警描述這個車號:這是一個完全平方數(shù);這 4 個數(shù)字從左至右一個比一個小。請幫助交警尋找肇事者,將車號算出來。【算法分析】(用文字或流程圖進行描述)找出這個四位數(shù)的個、十、百、

4、千位數(shù),利用題目條件運用兩個for 循環(huán)最后求出結(jié)果。【源程序代碼】#include <>main()int s,a,b,c,d,e;for(s=1000;s<10000;s+)a=s%10;若一個口袋中放有12個球,其中有3個紅色球,3個白色球和6個黑色球,從中任取 8 個球 , 問共有多少不同的顏色搭配,把每種搭配顯示出來?!舅惴ǚ治觥?用文字或流程圖進行描述)用三個 for 循環(huán)嵌套,再以一個if 條件語句就可以輸出最后結(jié)果。【源程序代碼】#include <>main()int x,y,z;for(x=0;x<4;x+)for(y=0;y<4;

5、y+)for(z=0;z<7;z+)if(x+y+z=8)printf("%d 紅 d 白 %d 黑n”,x,y,z);( 示圖中要有0 error,0 warning 的提示 )【運行結(jié)果示圖】設(shè)計任務(wù) 4 實現(xiàn)過程【任務(wù)描述】3. 輸入年月日 , 求它是該年的第幾天。注: 閏年的 2 月有 29天, 平年的 2月有 28 天?!舅惴ǚ治觥?用文字或流程圖進行描述)先用 if 語句判斷出平年和閏年,再用 for 循環(huán)輸出最后結(jié)果?!驹闯绦虼a】#include <> void main() int year,moth,day;int a12=31,28,31,30

6、,31,30,31,31,30,31,30,31;簡單計算器。請編寫一個程序計算表達式: data1 op data2 的值。其中 op 為運算符+、 - 、 * 、 /,data1 和 data2 是數(shù)據(jù)。【算法分析】(用文字或流程圖進行描述)先輸出所需數(shù)據(jù)和運算符,然后用 switch 語句進行判斷,最后輸出結(jié)果?!驹闯绦虼a】#include <> void main() float a,b;char c;printf(" 請輸入數(shù)字a, 運算符 c, 數(shù)字 b:n");scanf("%f%c%f",&a,&c,&

7、;b);有一個一維數(shù)組 score ,內(nèi)存放 10 個學生的成績,要求編寫三個函數(shù)分別求學生的平均成績,求 10 個學生的最高分,求10 個學生的最低分。2. 編寫一個函數(shù), 將輸入的一串字符中的小寫字母轉(zhuǎn)變成大寫字母, 并輸出所有的大寫字母。3. 輸入 10 個學生姓名, 按字典順序?qū)⑴旁谧钋懊娴膶W生姓名輸出。 即在字符數(shù)組中求最小字符串。4. 用函數(shù)求N*N的對角線的和。其中的N是用戶通過鍵盤輸入的任意值。5. “數(shù)學黑洞”:任意一個4 位自然數(shù),將組成該數(shù)的各位數(shù)字重新排列,形成一個最大數(shù)和一個最小數(shù),之后兩數(shù)相減,其差任為一個自然數(shù)。 重復進行上述運算,會發(fā)現(xiàn)一個神秘的數(shù)。6. 輸入

8、n 值,打印邊長為n 的空心正六邊形,其邊有 * 組成。例如: n=4 時,圖形如下:* * *實現(xiàn)過程設(shè)計任務(wù) 1 實現(xiàn)過程【任務(wù)描述】1. 有一個一維數(shù)組 score ,內(nèi)存放 10 個學生的成績,要求編寫三個函數(shù)分別求學生的平均成績,求10 個學生的最高分,求10 個學生的最低分?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進行描述)用數(shù)組存放10 個學生的成績,然后用求出平均分、最高分、最低分?!驹闯绦虼a】#include<>int score10=56,66,21,45,52,65,70,82,90,92;int i,max,min;aver()int i;float aver=0,a

9、=0;for(i=0;i<10;i+)a+=scorei;printf("aver=%fn",a/10);maxain()max=min=score0;for(i=0;i<10;i+)if(scorei>max)max=scorei;if(score0<min)min=scorei;printf("max=%dn min=%dn",max,min);void main() aver();max=min=score0;for(i=0;i<10;i+)if(scorei>max)max=scorei;if(score0&l

10、t;min)min=scorei;printf(" max=%dn min=%dn",max,min);設(shè)計任務(wù) 2 實現(xiàn)過程【任務(wù)描述】并輸出所有的大寫字輸出。2. 編寫一個函數(shù), 將輸入的一串字符中的小寫字母轉(zhuǎn)變成大寫字母,母。【算法分析】(用文字或流程圖進行描述)用 gets() 函數(shù)輸入字符串,然后講小寫字母轉(zhuǎn)換成大寫使用 puts()【源程序代碼】#include<>void main()char ch20;int i;printf("input string:n");gets(ch);for(i=0;i<20;i+)if(c

11、hi>=97&&chi<=122) chi-=32;puts(ch);【編譯示圖】(示圖中要有 0 error,。warning的提示)【運行結(jié)果示圖】第 3 章 指針設(shè)計任務(wù)1. 已知一個整型數(shù)組 a5 , 其各元素值為 4, 6, 8, 10, 12。 使用指針法求該數(shù)組元素之積。個圍成一圈,從第 1 個人開始, 每數(shù)到 3 的人出圈。問最后一個出圈的人是哪一個。 3. 編寫兩個排序函數(shù), 要求一個函數(shù)完成從小到大排序, 一個函數(shù)完成從大到小排序, 并編寫主函數(shù)完成: 輸入 n 個數(shù); 調(diào)用排序函數(shù)對n 個數(shù)按從大到小排序并輸出; 調(diào)用排序函數(shù)對n 個數(shù)按從小到

12、大排序并輸出;實現(xiàn)過程設(shè)計任務(wù) 1 實現(xiàn)過程【任務(wù)描述】1. 已知一個整型數(shù)組 a5 , 其各元素值為 4, 6, 8, 10, 12。 使用指針法求該數(shù)組元素之積?!舅惴ǚ治觥?用文字或流程圖進行描述)使用數(shù)組存放元素,然后用指針取出數(shù)值運算。【源程序代碼】#include<>main()int a5=4,6,8,10,12;int *p,s=1;for(p=a;p<=a+4;p+)s=s*(*p);printf("%dn",s);【運行結(jié)果示圖】( 示圖中要有0 error,0 warning 的提示 )設(shè)計任務(wù)2實現(xiàn)過程【任務(wù)描述】100個圍成一圈,

13、從第1個人開始,每數(shù)到 3的人出圈。問最后一個出圈的人是哪一個?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進行描述) 使用for循環(huán)取出出圈人,然后用 wile輸出最后一個出圈的人?!驹闯绦虼a】#include<>#define n 100void main() int an,i,quit_num,k;for(i=0;i<n;i+)用C語言開發(fā)一個“小學生算術(shù)四則運算測試系統(tǒng)”。該系統(tǒng)是讓計算機充當一位給小學生布置作業(yè)的算術(shù)老師,為學生出題并閱卷。該系統(tǒng)要求實現(xiàn)下列功能:為小學生出題(分別進行 +、-、*、/等不同運算)。學生做題后,進行評閱。學生每做一題后,評閱給出“答題正確,很好”或

14、“答題錯誤,重做”等信息。加、減、乘、除運算功能可以自由選擇實現(xiàn)。運算數(shù)值可控制在兩位數(shù)的四則運算范圍內(nèi)。2 .運用C語言開發(fā)一個“比賽評分系統(tǒng)”。評委打分原則:滿分 10分,評委打分后,去掉一個最高分和一個最低分,最后的平均分為參賽選手的最后得分(精確到小數(shù)點后兩位)。要求該系統(tǒng)實現(xiàn)以下功能: 假設(shè)參賽人數(shù)為20人,評委為10人。(有興趣的同學可拓展為參賽人數(shù)為n人,評委為m人)。并對參賽選手和評委分別編號,序號從 1開始,順序編號。選手按編號順序依次參加比賽,統(tǒng)計最后得分。 比賽結(jié)束,按從高分到低分每行5人依次打印選手的得分情況。 公布選手獲獎。取一等獎1名,二等獎2名,三等獎3名。3 .

15、王小二幫學生食堂編了一個買菜計價的程序,該程序可以顯示菜單,讓學生輸入菜號來選擇買什么菜,之后程序會報出你買了多少個菜,用了多少錢。設(shè)計過程設(shè)計任務(wù)實現(xiàn)過程【任務(wù)描述】2.運用C語言開發(fā)一個“比賽評分系統(tǒng)”。評委打分原則:滿分 10分,評委打分后,去掉 一個最高分和一個最低分,最后的平均分為參賽選手的最后得分(精確到小數(shù)點后兩位)。要求該系統(tǒng)實現(xiàn)以下功能: 假設(shè)參賽人數(shù)為 20 人, 評委為 10 人。 (有興趣的同學可拓展為參賽人數(shù)為 n 人, 評委為m人)。并對參賽選手和評委分別編號,序號從 1開始,順序編號。 選手按編號順序依次參加比賽,統(tǒng)計最后得分。 比賽結(jié)束,按從高分到低分每行5 人

16、依次打印選手的得分情況。 公布選手獲獎。取一等獎1 名,二等獎2 名,三等獎3 名?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進行描述)使用 for 循環(huán)嵌套輸出每位選手的評分,然后用冒泡排序法排序,然后輸出得獎人?!驹闯绦虼a】#include<>#include<>void main() int max(float b);int min(float b);int i1,k1,j1,t,t1,b1;float tt;int ii, jj;int flag = 1;int k,m,i,b,j;float sum=0;float a10,c20;評分系統(tǒng) n");printf

17、("printf("*n");for(b=0;b<20;b+)printf("%d 號選手: n",b+1);for(i=0;i<=9;i+)printf("%d 號評委的評分是: ",i+1);scanf("%f",&ai);sum+=ai;for(j=0;j<10;j+)cj=sum/10;printf("nn");k=max(a);m=min(a);printf("n");printf("nn");printf(&

18、quot;n 最高分是: %g 最低分是: %gnn",ak,am);printf(" 刪除最高分最低分之后的總分是: %gnn",sum-ak-am);printf(" 這位選手的平均分是:%gnn",(sum-ak-am)/10);cb = (sum-ak-am)/10;sum = 0;printf(”*nnnn");for(b1=0;b1<20;b1+)printf(" 第 位選手的分數(shù)是:gn”,b1+1,cb1); for(ii=0;ii<20;ii+)for(jj=0;jj<20-ii-1;jj

19、+)if(ajj>ajj+1) /如果后面的數(shù)字大于前面的數(shù)字tt=cjj;cjj=cjj+1;cjj+1=tt; / 就把兩個數(shù)交換printf("%g ",cjj);printf(" 第一名 %g ",c0);printf("第二名%g ",c1);printf("第三名%g ",c2);int max(float b)/最大值 int i,k=0;float max=b0;for(i=0;i<10;i+)if(max<bi) max=bi;k=i;return k;int min(float

20、 b)/最小值int i,m=0;float min=b0;for(i=1;i<10;i+)if(bi<min)min=bi;m=i;return m;【編譯示圖】 ( 示圖中要有0 error,0 warning 的提示 )【運行結(jié)果示圖】設(shè)計任務(wù)實現(xiàn)過程【任務(wù)描述】運用C語言開發(fā)一個“小學生算術(shù)四則運算測試系統(tǒng)”。該系統(tǒng)是讓計算機充當一位給小學生布置作業(yè)的算術(shù)老師,為學生出題并閱卷。該系統(tǒng)要求實現(xiàn)下列功能:為小學生出題(分別進行 +、-、*、/等不同運算)。學生做題后,進行評閱。學生每做一題后,評閱給出“答題正確,很好”或“答題 錯誤,重做”等信息。加、減、乘、除運算功能可以自

21、由選擇實現(xiàn)。運算數(shù)值可控制在兩位數(shù)的四則運算范圍內(nèi)。【算法分析】(用文字或流程圖進行描述)用隨機函數(shù)取出兩個數(shù)1-100 ,用 while 循環(huán)判斷是否重做,用 switch( 選擇加、減、乘、除運算,然后輸出結(jié)果?!驹闯绦虼a】#include<>#include <>#include <>int main()int a=0,b=1,x=0,y=0,i=0,x1=0,y1=0;srand(unsigned int)time(NULL);/ 設(shè)置當前時間為種子while(a<b)a=rand()%100+1;b=rand()%100+1;printf(

22、" 請選擇 n1 加法運算 ,n2 減法運算 ,n3 乘法運算 ,n4 除法運算 n"); scanf("%dn",&x);x1=x;switch(x1)case 1:while(i=0)printf(" 請計算 %d+%d=",a,b);scanf("%dn",&y1);y=y1;if(y=(a+b)printf(" 答案正確 n");i=1; elseprintf(" 答案錯誤,重做n");i=0; break;case 2:while(i=0)print

23、f(" 請計算 %d-%d=",a,b);scanf("%dn",&y1);y=y1;if(y=(a-b)printf(" 答案正確 n");i=1; elseprintf(" 答案錯誤,重做n");i=0; break;case 3:while(i=0)printf(" 請計算 %d*%d=",a,b);scanf("%dn",&y1);y=y1;if(y=(a*b)printf(" 答案正確 n");elseprintf(" 答案錯誤,重做n"); break;case 4:while(i=0)printf(" 請計算 %d/%d=",a,b);scanf("%dn",&y1);y=y1;if(y=(a/b)printf(" 答案正確 n");i=1;else printf(" 答案錯誤,重做n"i=0;break;retu

溫馨提示

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

評論

0/150

提交評論