版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、«C程序設(shè)計課程設(shè)計*學(xué)業(yè):級: 號: 名:*指導(dǎo)教師:*2016年9月第1章分支與循環(huán)1.2設(shè)計任務(wù)1 .王小二自夸刀工不錯,有人放一張大地煎餅在砧板上,問他:“煎餅不許離開砧板,切100刀最多能分成多少塊?”2 .若一個口袋中放有 12個球,其中有3個紅色球,3個白色球和6個黑色球,從中任取8個 球,問共有多少不同的顏色搭配,把每種搭配顯示出來。3 .輸入年月日,求它是該年的第幾天。注:閏年的2月有29天,平年的2月有28天。4 .簡單計算器。請編寫一個程序計算表達(dá)式:data1 op data2 的值。其中op為運算符+、-、*、/,data1 和 data2 是數(shù)據(jù)。5 .猜
2、數(shù)游戲。由計算機“想” 一個數(shù)請人猜,如果猜對了,則游戲結(jié)束,否則計算機給出提示,告訴人所猜的數(shù)是太大還是太小,直到猜對為止。計算機記錄人猜的次數(shù),以此可以反映出猜數(shù)者“猜”的水平。6 . 一輛肇事汽車的號碼是4位十進(jìn)制數(shù)。目擊者向交警描述這個車號:這是一個完全平方數(shù);這4個數(shù)字從左至右一個比一個小。請幫助交警尋找肇事者,將車號算出來。1.3實現(xiàn)過程1.3.1 設(shè)計任務(wù)1的實現(xiàn)過程【任務(wù)描述】1 .王小二自夸刀工不錯,有人放一張大地煎餅在砧板上,問他:“煎餅不許離開砧板,切100刀最多能分成多少塊?”【算法分析】(用文字或流程圖進(jìn)行描述)用到數(shù)學(xué)中的逆推公式。s=1+n*(n+1)/2【源程序
3、代碼】#include <stdio.h>main()int n,s;for(n=1;n<=100;n+)s=1+n*(n+1)/2;printf("%dn",s);【編譯示圖】(示圖中要有 0 error,。warning的提示)【運行結(jié)果示圖】'.(KiPi*en 小力產(chǎn) 卜和v enntinuinl d1.3.2 設(shè)計任務(wù)2的實現(xiàn)過程【任務(wù)描述】6. 一輛肇事汽車的號碼是 4位十進(jìn)制數(shù)。目擊者向交警描述這個車號:這是一個完全平方 數(shù);這4個數(shù)字從左至右一個比一個小。請幫助交警尋找肇事者,將車號算出來?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)找出
4、這個四位數(shù)的個、十、百、千位數(shù),利用題目條件運用兩個for循環(huán)最后求出結(jié)果?!驹闯绦虼a】#include <stdio.h>main()int s,a,b,c,d,e;for(s=1000;s<10000;s+)a=s%10;geweib=s/10%10;/shiweic=s/100%10;baiweid=s/1000;qianweifor(e=30;e<100;e+)if(a>b&&b>c&&c>d&&e*e=s) printf("%dn",s);【編譯示圖】(示圖中要有 0 er
5、ror,。warning的提示)【運行結(jié)果示圖】1.3.3設(shè)計任務(wù)3實現(xiàn)過程【任務(wù)描述】2.若一個口袋中放有 12個球,其中有3個紅色球,3個白色球和6個黑色球,從中任取8個球,問共有多少不同的顏色搭配,把每種搭配顯示出來?!舅惴ǚ治觥?用文字或流程圖進(jìn)行描述)用三個for循環(huán)嵌套,再以一個if條件語句就可以輸出最后結(jié)果?!驹闯绦虼a】#include <stdio.h>main()int x,y,z;for(x=0;x<4;x+)for(y=0;y<4;y+)for(z=0;z<7;z+)if(x+y+z=8)printf("%d 紅 d 白 %d 黑
6、n",x,y,z);【編譯示圖】(示圖中要有 0 error,。warning的提示)""r *» fi-ii * 匾 R-1 *d& i*gi Hur * u/尸。-7事,*曲1"-可 1【運行結(jié)果示圖】m白臼白白白men白白白口 A nfes6s4G5 4 3s一堂里察膽黑事官楠rl七i mm,ci a£ l"r «j|.r1 Jer ukuft 1. ¥ib.ii-ial IStadi okBuj| ueLh t BelhwgS a t. *i ft*1.3.4設(shè)計任務(wù)4實現(xiàn)過程【任務(wù)描述】
7、3.輸入年月日,求它是該年的第幾天。注:閏年的2月有29天,平年的2月有28天。【算法分析】(用文字或流程圖進(jìn)行描述)先用if語句判斷出平年和閏年,再用 for循環(huán)輸出最后結(jié)果?!驹闯绦虼a】#include <stdio.h>void main()int year,moth,day;int a12=31,28,31,30,31,30,31,31,30,31,30,31;平年 2 月 28 天 365 天int b12=31,29,31,30,31,30,31,31,30,31,30,31;閏年 2 月 29 天 366 天int i,j,num=0;int x;printf(&q
8、uot;請輸入年 月 日,n");scanf("%d,%d,%d",&year,&moth,&day);if(year%4=0)&&(year%100!=0)|(year%4=0)&&(year%400=0)x=1;elsex=0;if(x)for(i=0;i<moth-1;i+)num+=bi;num+=day;elsefor(j=0;j<moth-1;j+)num+=aj;num+=day;printf("今天是第 d年的第 %dn",year,num);【編譯示圖】(示圖
9、中要有 0 error,。warning的提示)【運行結(jié)果示圖】0-. Ti-0gfui FiLe.s1! i er o sof t. VizmaJ.請Q年 月 日.2ali4.E,2R今天拜州之年的第14學(xué)兀Pif ? 梟力步 ku” *fi ftnnt: inurr1.3.5設(shè)計任務(wù)5實現(xiàn)過程【任務(wù)描述】4.簡單計算器。請編寫一個程序計算表達(dá)式:datal op data2 的值。其中op為運算符+、-、*、/,data1 和 data2 是數(shù)據(jù)。【算法分析】(用文字或流程圖進(jìn)行描述)先輸出所需數(shù)據(jù)和運算符,然后用 switch語句進(jìn)行判斷,最后輸出結(jié)果?!驹闯绦虼a】#include &
10、lt;stdio.h>void main()float a,b;char c;printf("請輸入數(shù)字a,運算符c,數(shù)字b:n");scanf("%f%c%f",&a,&c,&b);/char c;/printf(" 請輸入運算符:n");/scanf("%c",&c);switch(c)case'+': printf("%fn",a+b); break;case'-': printf("%fn",a-b
11、); break;case'*': printf("%fn",a*b); break;case'/': printf("%fn",a/b); break;default: printf("input errorn");【編譯示圖】(示圖中要有 0 error,。warning的提示)用工也-RP隹輸入融生后阜廣匚.數(shù)字人r,a _Prets any Moy to cont lnu【運行結(jié)果示圖】第2章數(shù)組與函數(shù)2.2設(shè)計任務(wù)1 .有一個一維數(shù)組score口 ,內(nèi)存放10個學(xué)生的成績,要求編寫三個函數(shù)分別
12、求學(xué)生的平 均成績,求10個學(xué)生的最高分,求 10個學(xué)生的最低分。2 .編寫一個函數(shù),將輸入的一串字符中的小寫字母轉(zhuǎn)變成大寫字母,并輸出所有的大寫字母。3 .輸入10個學(xué)生姓名,按字典順序?qū)⑴旁谧钋懊娴膶W(xué)生姓名輸出。即在字符數(shù)組中求最小字符串。4 .用函數(shù)求N*N的對角線的和。其中的 N是用戶通過鍵盤輸入的任意值。5 . “數(shù)學(xué)黑洞”:任意一個 4位自然數(shù),將組成該數(shù)的各位數(shù)字重新排列,形成一個最大 數(shù)和一個最小數(shù),之后兩數(shù)相減,其差任為一個自然數(shù)。重復(fù)進(jìn)行上述運算,會發(fā)現(xiàn)一個神秘的數(shù)。6 .輸入n值,打印邊長為n的空心正六邊形,其邊有*'組成。例如:n=4時,圖形如下: * * *
13、*2.3實現(xiàn)過程2.3.1 設(shè)計任務(wù)1實現(xiàn)過程【任務(wù)描述】1 .有一個一維數(shù)組score口 ,內(nèi)存放10個學(xué)生的成績,要求編寫三個函數(shù)分別求學(xué)生的平 均成績,求10個學(xué)生的最高分,求 10個學(xué)生的最低分?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)用數(shù)組存放10個學(xué)生的成績,然后用求出平均分、最高分、最低分。【源程序代碼】#include<stdio.h>int score10=56,66,21,45,52,65,70,82,90,92;int i,max,min;aver()int i;float aver=0,a=0;for(i=0;i<10;i+)a+=scorei;prin
14、tf("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<min)min=scorei;printf(" max=%d
15、n min=%dn",max,min);【編譯示圖】(示圖中要有 0 error,。warning的提示)iMM v I211 * 川, ZB-二L -,*S 事 fid- « ;>> :T小 ri- i jv*Hiwrl I :Wb-4iM»f j-hfi - 卬【運行結(jié)果示圖】 ' '='Lhie心力Je而 W£?/Q«4d&p;j:吊后鼻星界占1口一加均1工事叁金l+aeku"一 口IM 3( "2植件56h:tss 曲ti¥ leflv to :antim.i&a
16、mp;2.3.2 設(shè)計任務(wù)2實現(xiàn)過程【任務(wù)描述】2.編寫一個函數(shù),將輸入的一串字符中的小寫字母轉(zhuǎn)變成大寫字母,并輸出所有的大寫字母?!舅惴ǚ治觥?用文字或流程圖進(jìn)行描述)用gets()函數(shù)輸入字符串,然后講小寫字母轉(zhuǎn)換成大寫使用puts()輸出?!驹闯绦虼a】#include<stdio.h>void main()char ch20;int i;printf("input string:n");gets(ch);for(i=0;i<20;i+)if(chi>=97&&chi<=122) chi-=32;puts(ch);【編譯示
17、圖】(示圖中要有 0 error,。warning的提示)【運行結(jié)果示圖】* 'dldDp'jri五星1t于cJkSifll呈世 Q XLrysjt FtratiE 行心由HFd FSSMTCDm由 Mi事FF la IdtfldfiU、第3章指針3.2設(shè)計任務(wù)1 .已知一個整型數(shù)組 a5,其各元素值為4, 6, 8, 10, 12。使用指針法求該數(shù)組元素之積。2.100個圍成一圈,從第1個人開始,每數(shù)到 3的人出圈。問最后一個出圈的人是哪一個。3.編寫兩個排序函數(shù),要求一個函數(shù)完成從小到大排序,一個函數(shù)完成從大到小排序,并編寫主函數(shù)完成:輸入n個數(shù);調(diào)用排序函數(shù)對n個數(shù)按從大
18、到小排序并輸出;調(diào)用排序函數(shù)對n個數(shù)按從小到大排序并輸出;3.3實現(xiàn)過程3.3.1 設(shè)計任務(wù)1實現(xiàn)過程【任務(wù)描述】1 .已知一個整型數(shù)組 a5,其各元素值為4, 6, 8, 10, 12。使用指針法求該數(shù)組元素之積?!舅惴ǚ治觥?用文字或流程圖進(jìn)行描述)使用數(shù)組存放元素,然后用指針取出數(shù)值運算?!驹闯绦虼a】#include<stdio.h>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);【編譯示圖】(示圖中要有 0 error,。warning的
19、提示)1 aC U方/©hkiapU出事,*舊旨八里7*電Jfiht.swt1詢了日 iny key tu cDntinuB3.3.2 設(shè)計任務(wù)2實現(xiàn)過程【任務(wù)描述】100個圍成一圈,從第1個人開始,每數(shù)到 3的人出圈。問最后一個出圈的人是哪一個?!舅惴ǚ治觥?用文字或流程圖進(jìn)行描述)使用for循環(huán)取出出圈人,然后用 wile輸出最后一個出圈的人?!驹闯绦虼a】#include<stdio.h>#define n 100void main()int an,i,quit_num,k;for(i=0;i<n;i+)/數(shù)組a存放原始編號ai=i+1;quit_num=0;
20、/ 出圈人數(shù)i=0;k=0;while(quit_num<n-1)/直到只剩下 1 人時if(ai!=0)k+;if(k=3)ai=0;quit_num+;k=0;i+;if(i=n)i=0;for(i=0;i<n;i+)if(ai!=0)printf("%dn",ai);【編譯示圖】(示圖中要有 0 error,。warning的提示)第4章綜合設(shè)計題4.1 設(shè)計任務(wù)1 .運用C語言開發(fā)一個“小學(xué)生算術(shù)四則運算測試系統(tǒng)”。該系統(tǒng)是讓計算機充當(dāng)一位給小學(xué)生布置作業(yè)的算術(shù)老師,為學(xué)生出題并閱卷。該系統(tǒng)要求實現(xiàn)下列功能:為小學(xué)生出題(分別進(jìn)行 +、-、*、/等不同運
21、算)。學(xué)生做題后,進(jìn)行評閱。學(xué)生每做一題后,評閱給出“答題正確,很好”或“答題 錯誤,重做”等信息。加、減、乘、除運算功能可以自由選擇實現(xiàn)。運算數(shù)值可控制在兩位數(shù)的四則運算范圍內(nèi)。2 .運用C語言開發(fā)一個“比賽評分系統(tǒng)”。評委打分原則:滿分 10分,評委打分后,去掉 一個最高分和一個最低分,最后的平均分為參賽選手的最后得分(精確到小數(shù)點后兩位)。 要求該系統(tǒng)實現(xiàn)以下功能: 假設(shè)參賽人數(shù)為20人,評委為10人。(有興趣的同學(xué)可拓展為參賽人數(shù)為n人,評委為m人)。并對參賽選手和評委分別編號,序號從 1開始,順序編號。選手按編號順序依次參加比賽,統(tǒng)計最后得分。 比賽結(jié)束,按從高分到低分每行 5人依次
22、打印選手的得分情況。 公布選手獲獎。取一等獎 1名,二等獎2名,三等獎3名。3 .王小二幫學(xué)生食堂編了一個買菜計價的程序,該程序可以顯示菜單,讓學(xué)生輸入菜號來選擇買什么菜,之后程序會報出你買了多少個菜,用了多少錢。4.2 設(shè)計過程4.2.1 設(shè)計任務(wù)實現(xiàn)過程【任務(wù)描述】2.運用C語言開發(fā)一個“比賽評分系統(tǒng)”。評委打分原則:滿分 10分,評委打分后,去掉 一個最高分和一個最低分,最后的平均分為參賽選手的最后得分(精確到小數(shù)點后兩位)。 要求該系統(tǒng)實現(xiàn)以下功能: 假設(shè)參賽人數(shù)為20人,評委為10人。(有興趣的同學(xué)可拓展為參賽人數(shù)為n人,評委為m人)。并對參賽選手和評委分別編號,序號從 1開始,順序
23、編號。選手按編號順序依次參加比賽,統(tǒng)計最后得分。 比賽結(jié)束,按從高分到低分每行 5人依次打印選手的得分情況。 公布選手獲獎。取一等獎 1名,二等獎2名,三等獎3名?!舅惴ǚ治觥浚ㄓ梦淖只蛄鞒虉D進(jìn)行描述)使用for循環(huán)嵌套輸出每位選手的評分,然后用冒泡排序法排序,然后輸出得獎人。【源程序代碼】#include<stdio.h>#include<math.h> 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,
24、i,b,j;float sum=0;評分系統(tǒng)n");float a10,c20;printf("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);prin
25、tf("An");printf("nn");printf("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(" 第 位選手的分?jǐn)?shù)是:gn”,b1+1,cb1); for(ii
26、=0;ii<20;ii+)for(jj=0;jj<20-ii-1;jj+)if(ajj>ajj+1) 如果后面的數(shù)字大于前面的數(shù)字tt=cjj;cjj=cjj+1;cjj+1=也就把兩個數(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<b
27、i) max=bi;k=i;return k;int min(float 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,。warning的提示)【運行結(jié)果示圖】Ht r&>i 是 t Qf 3 5這置地于站平均分是;* *7*:<-»:> T XLG3CK3!- OCFKIO KKK3K»"KMCKHK-CXLEWM *K*:4 i£X3KKK <»LnEK
28、k»,552心 -U - i 1 E 4 3 3 后占 4 7 8 9 4 « -t:?:n-富是 MH-i-WTA.4.Fl iT:" 干干平十卡車下n2,苗町力BnBnRrErlg 靄 YT案奏喪兵否安*關(guān)#( u A rTTmrf-TITTT M 法"工-»Jr 1 JT -T.It 1. M="號號"號日耳2 *11234-匚1(?391詞徐瓊高的JH氏弁:±后的,紂是I74.2.2設(shè)計任務(wù)實現(xiàn)過程【任務(wù)描述】運用C語言開發(fā)一個“小學(xué)生算術(shù)四則運算測試系統(tǒng)”。該系統(tǒng)是讓計算機充當(dāng)一位給小學(xué)生布置作業(yè)的算術(shù)老
29、師,為學(xué)生出題并閱卷。該系統(tǒng)要求實現(xiàn)下列功能:為小學(xué)生出題(分別進(jìn)行 +、-、*、/等不同運算)。學(xué)生做題后,進(jìn)行評閱。學(xué)生每做一題后,評閱給出“答題正確,很好”或“答題 錯誤,重做”等信息。加、減、乘、除運算功能可以自由選擇實現(xiàn)。運算數(shù)值可控制在兩位數(shù)的四則運算范圍內(nèi)?!舅惴ǚ治觥?用文字或流程圖進(jìn)行描述)用隨機函數(shù)取出兩個數(shù)1-100 ,用while循環(huán)判斷是否重做,用 switch(選擇加、減、乘、除運算,然后輸出結(jié)果?!驹闯绦虼a】#include<stdio.h>#include <stdlib.h>#include <time.h>int mai
30、n()int a=0,b=1,x=0,y=0,i=0,x1=0,y1=0;srand(unsigned int)time(NULL);/設(shè)置當(dāng)前時間為種子while(a<b)a=rand()%100+1;b=rand()%100+1;printf(" 請選擇n1 加法運算,n2 減法運算,n3 乘法運算,n4 除法運算n"); scanf("%dn",&x);x1=x;switch(x1)case 1:while(i=0)printf("請計算 d+%d=",a,b);scanf("%dn",&
31、;y1);y=y1;if(y=(a+b)printf("答案正確 n");i=1;elseprintf("答案錯誤,重做n");i=0;break;case 2: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 3:while(i=0)printf("請計算 d*%d=",a,b);scanf("%dn",&y1);y=yi;if(y=(a*b)printf("答案正確 n");elseprintf("答案錯誤,重做n"); break;case 4:while(i=0) printf("請計算 d/
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目人員勞動合同
- 2024年大數(shù)據(jù)應(yīng)用項目數(shù)據(jù)分析服務(wù)合同
- 房屋轉(zhuǎn)讓協(xié)議書范本
- 公路運輸合同標(biāo)準(zhǔn)樣本
- 家居木飾面購銷合同
- 有2子女離婚協(xié)議書范本
- 購買單位房指標(biāo)轉(zhuǎn)讓合同
- 2024年環(huán)保工程項目施工合同
- 承包沙場生產(chǎn)線合同范本
- 標(biāo)準(zhǔn)離婚協(xié)議格式范文
- 2025年中國X線診斷設(shè)備行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2024版全文:中國2型糖尿病預(yù)防及治療指南
- 讀書心得《好老師征服后進(jìn)生的14堂課》讀后感
- 公路工程施工安全應(yīng)急預(yù)案(4篇)
- 社會主義發(fā)展史(齊魯師范學(xué)院)知到智慧樹章節(jié)答案
- 2023年高考真題-地理(遼寧卷) 含解析
- 課程思政融入高職院校應(yīng)用文寫作課程教學(xué)路徑探析
- 2024全新鋼結(jié)構(gòu)安全培訓(xùn)
- 2025屆高三數(shù)學(xué)一輪復(fù)習(xí)-分段函數(shù)專項訓(xùn)練【含答案】
- 腰椎間盤突出癥課件(共100張課件)
- 《工程力學(xué)》課程教學(xué)大綱
評論
0/150
提交評論