C語(yǔ)言實(shí)訓(xùn)報(bào)告-5_第1頁(yè)
C語(yǔ)言實(shí)訓(xùn)報(bào)告-5_第2頁(yè)
C語(yǔ)言實(shí)訓(xùn)報(bào)告-5_第3頁(yè)
C語(yǔ)言實(shí)訓(xùn)報(bào)告-5_第4頁(yè)
C語(yǔ)言實(shí)訓(xùn)報(bào)告-5_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

廣東交通職業(yè)技術(shù)學(xué)院交通信息學(xué)院C語(yǔ)言課程設(shè)計(jì)分析報(bào)告專業(yè):班級(jí):學(xué)號(hào):姓名:指導(dǎo)教師:日期:成績(jī):C語(yǔ)言課程設(shè)計(jì)項(xiàng)目任務(wù)書專業(yè):電氣自動(dòng)化班級(jí):電氣121教師:曾素勤2013年6月7日課程設(shè)計(jì)題目名稱C語(yǔ)言程序設(shè)計(jì)及分析題目?jī)?nèi)容和要求:(一)、題目?jī)?nèi)容:運(yùn)用本課程所學(xué)的順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、指針、函數(shù)進(jìn)行相關(guān)程序的分析設(shè)計(jì)。 (二)、要求:1、每人完成10個(gè)題目的分析(包括必做題6個(gè),綜合應(yīng)用題2個(gè),選做題2個(gè));2、要求完成各程序的程序調(diào)試及分析,畫出程序流程圖;3、完成設(shè)計(jì)報(bào)告。注:如希望另做課題,需經(jīng)教師同意后按要求進(jìn)行。需要使用的設(shè)備:硬件:PC機(jī)軟件:Win2000或Win2003/XP、VC++6.0編程環(huán)境。評(píng)分方法和標(biāo)準(zhǔn):1、評(píng)分方法:學(xué)生自行完成程序設(shè)計(jì),并提交以下資料(1)交電子稿,內(nèi)容包括:A、設(shè)計(jì)報(bào)告、程序清單及程序流程圖;B、可運(yùn)行的程序。(2)另交文字打印稿,并附項(xiàng)目任務(wù)書、課程設(shè)計(jì)總結(jié)與指導(dǎo)教師評(píng)閱表。2、評(píng)分標(biāo)準(zhǔn):(1)程序設(shè)計(jì)(20%)(2)可運(yùn)行的程序(20%)(3)設(shè)計(jì)報(bào)告(包括格式、代碼、流程圖、相關(guān)說(shuō)明等)(40%)(4)出勤、紀(jì)律考核(20%)自選項(xiàng)目:教師意見:年月日注:內(nèi)容較多時(shí),可以附頁(yè)。交通信息學(xué)院制表C語(yǔ)言程序設(shè)計(jì)內(nèi)容題目1:如果從鍵盤輸入一個(gè)大寫字母,要求改用小寫字母輸出;如果從鍵盤輸入一個(gè)小寫字母,要求改用大寫字母輸出。程序:#include"stdio.h"main(){ charx; scanf("%c",&x); if(x>='a'&&x<='z') printf("%c\n",x-32); if(x>='A'&&x<='Z') printf("%c\n",x+32);}流程圖:開始開始輸入xa>=x>=zA>=x>=Zprintf("%c\n",x-32)printf("%c\n",x+32)結(jié)束否是是否題目2:計(jì)算器設(shè)計(jì):編寫程序,輸入兩個(gè)整數(shù),和+、-、*、/之中的任意一個(gè)運(yùn)算符,輸出計(jì)算結(jié)果。程序:#include"stdio.h"main(){ inta,b; charx; scanf("%d%c%d",&a,&x,&b); switch(x) { case'+': printf("a+b=%d\n",a+b); break; case'-': printf("a-b=%d\n",a-b); break; case'*': printf("a*b=%d\n",a*b); break; case'/': if(b!=0) printf("a/b=%d\n",a/b); else printf("無(wú)法計(jì)算\n"); break; }}流程圖:開始開始Switch(x)x=+,-,*,/case+:a+bcase-:a-bcase*:a*bcase/:a/b結(jié)束否是題目3:利用while循環(huán)語(yǔ)句,控制從鍵盤上不斷地輸入數(shù)字1~7,然后根據(jù)輸入的數(shù)字,利用switch語(yǔ)句,輸出對(duì)應(yīng)的英文星期名。循環(huán)直至鍵盤上輸入的不是數(shù)字1~7時(shí)停止。程序:#include"stdio.h"main(){ intx; printf("從鍵盤不斷輸入數(shù)字"); scanf("%d",&x); while(x<=7&&x!=0) { switch(x) { case1: printf("monday\n",x); break; case2: printf("tuesday\n",x); break; case3: printf("wdnesday\n",x); break; case4: printf("thuresday\n",x); break; case5: printf("friday\n",x); break; case6: printf("saturday\n",x); break; case7: printf("sunday\n",x); break; } scanf("%d",&x); }流程圖:開始開始從鍵盤不斷輸入數(shù)字1>=x>=7case1;輸入mondaycase2;輸入thesdaycase3;輸入wdnesdaycase1;輸入thuresdaycase5;輸入fridaycase6;輸入staurdaycase1;輸入sunday1>=x>=7結(jié)束否是是x=1x=2x=3x=4x=5x=6x=7題目4:從鍵盤上輸入一個(gè)字符串,并存入一維數(shù)組中,找出字符串中的最大字符和最小字符。然后打印輸出。程序:#include"stdio.h"main(){ inti; charmax,min,num[30]; printf("請(qǐng)輸入一串字符:\n"); scanf("%s",num); max=num[0];min=num[0];for(i=1;num[i]!='\0';i++) { if(max<num[i]) max=num[i]; if(min>num[i]) min=num[i]; }printf("最大為:%c\n最小為:%c\n",max,min); }流程圖:開始開始請(qǐng)輸入一段字符請(qǐng)輸入一段字符max=min=0max=min=0i=1i=1num[i]!='\0'num[i]!='\0'否否是是max<num[i]max<num[i]是是max=num[i]max=num[i]否否否否min>num[i]min>num[i]是是min=num[i]min=num[i]i++i++輸出minmax輸出minmax結(jié)束結(jié)束題目5:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過(guò)癮,又多吃了3個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃三個(gè)。以后每天早上都吃了前一天剩下的一半零3個(gè)。到第10天早上想再吃時(shí),就只剩下一個(gè)桃子了。求第一天共摘多少個(gè)桃子。程序:#include"stdio.h"main(){ inti=1,a=1; while(i<=9) { a=(a+3)*2; i=i++; } printf("%d\n",a);}開始流程圖:開始否否是i<=9是i<=9a=(a+3)*2;i=i++;輸出一共有多少桃子輸出一共有多少桃子結(jié)束結(jié)束題目6:我國(guó)古代數(shù)學(xué)家張丘鍵在《算經(jīng)》中出了一道題“雞翁一,值錢五;雞母一,值錢三;雞雛三,值錢一。百錢買百雞,問(wèn)雞翁、雞母、雞雛各幾何?程序:#include"stdio.h"main(){ intx,y,z; for(x=0;x<=100;x++) for(y=0;y<=100;y++) for(z=0;z<=100;z=z+3) { if((x+y+z==100)&&(5*x+3*y+z/3==100)) printf("公雞%d只,母雞%d只,小雞%d只\n",x,y,z); }}開始流程圖:開始x,y,zx=0;y=0;z=0x<=100;y<=100;z<=100?x,y,zx=0;y=0;z=0x<=100;y<=100;z<=100?z=z+3z=z+3y=y++y=y++YYx=x++(x+y+z==100)&&(5*x+3*y+z/3==100)x=x++(x+y+z==100)&&(5*x+3*y+z/3==100)輸出x;y;zN輸出x;y;zNYY輸出x;y;z輸出x;y;z結(jié)束結(jié)束題目7:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第3個(gè)月后每個(gè)月又生一對(duì)兔子。假設(shè)所有兔子不死,問(wèn)每個(gè)月的兔子總數(shù)為多少?程序:#include"stdio.h"main(){ intx1=1,x2=0,x,i=1,n; printf("請(qǐng)輸入您要計(jì)算的最后一個(gè)月的月數(shù)"); scanf("%d",&n); while(i<=n) { x=x1+x2; x1=x2; x2=x; printf("第%d個(gè)月的兔子總數(shù)為%d\n",i,x); i=i++; }}流程圖:開始開始x1=1;x2=0;i=1;xx1=1;x2=0;i=1;x輸入n輸入nNNi<=n?i<=n?YYi=i++x=x1+x2i=i++x=x1+x2x1=x2x1=x2x2=xx2=x結(jié)束結(jié)束輸出i;x輸出i;x題目8:為了使電文保密,往往按一定規(guī)律將其轉(zhuǎn)換成密碼,收?qǐng)?bào)人再按約定的規(guī)律將其譯回原文。例如:將每一個(gè)字母變成它后面的第4字母,即將A變成E,B變成F,…,Z變成D,非字母字符不變,“!”作為電文結(jié)束標(biāo)志。要求:輸入一行字符,輸出其相應(yīng)的密碼。程序:#include"stdio.h"main(){ charch; printf("請(qǐng)輸入一些字符,最后輸入'!'結(jié)束\n");scanf("%c",&ch); for(;ch!='!';) { if((ch>=65&&ch<=86)||(ch>=97&&ch<=118)) printf("%c",ch+4); elseif((ch>86&&ch<=90)||(ch>118&&ch<=122)) printf("%c",ch+4-26); else printf("%c\n",ch); scanf("%c",&ch); } printf("\n");}流程圖:開始開始輸入ch輸入chch!=ch!=’!’?是是 ch+465<=ch<=86ch+465<=ch<=86是否ch+4-26否ch+4-26 是86<=ch<是86<=ch<=90否否97<=<=11897<=<=118是ch+4 ch+4否否 118<=ch<=122118<=ch<=122是ch+4-26否否chch結(jié)束結(jié)束題目9:約瑟夫問(wèn)題15個(gè)基督徒和15個(gè)異教徒在海上遇險(xiǎn),必須將一半的人投入大海,其余的人才能幸免于難,于是想了一個(gè)辦法:30個(gè)人圍成一個(gè)圓圈,從第一個(gè)人開始依次報(bào)數(shù),每數(shù)到第9個(gè)人就將他扔入大海,如此循環(huán)直到僅余15個(gè)人為止。問(wèn)怎樣排法,才能使每次投入大海的都是異教徒。程序:#include"stdio.h"main(){ inti,k,x,n,a[30],*p;/*定義整型變量、數(shù)組、指針變量*/ p=a;/*讓p指向a數(shù)組*/ for(i=0;i<30;i++) *(p+i)=i+1; printf("非教徒的位置是:\n"); n=0; k=0; i=0; while(n<15) {if(*(p+i)!=0) k++; if(k==9) { printf("%d\n",*(p+i)); n++; *(p+i)=0; k=0; } i++; if(i==30) i=0; } printf("\n教徒的位置是:\n"); for(i=0;i<30;i++) if(*(p+i)!=0) printf("%d\n",*(p+i));}流程圖:開始開始定義整型變量i,k,x,n,a[30],*pp=ai=0?*(p+i)=i+1printf("非教徒的位置是:\n")n=0;k=0;i=0;?k=k+1k==9?printf("%d\n",*(p+i));n++;*(p+i)=0;k=0;i=i+1i==30?i=0printf("\n教徒的位置是:\n");i=0i<30?*(p+i)!=0?printf("%d\n",*(p+i))結(jié)束i=i+1i=i+1YYYYYYYNNNNNN題目10:指針的運(yùn)用往數(shù)組里輸入一個(gè)字符串,然后用一個(gè)指針變量指向它。借助該指針變量,按正向和反向順序?qū)⒆址敵?。程序?include<stdio.h>#include<stdlib.h>#include<string.h>main(){ char*s; inti,L; s=(char*) malloc(sizeof(char)); printf("請(qǐng)輸入字符串\n"); scanf("%s",s); L=strlen(s); printf("正向順序\n"); for(i=0;i<L;i++) { printf("%c",*(s++)); } printf("\n反向順序\n"); for(i=0;i<L;i++) { printf("%c",*(--s)); } printf("\n");}流程圖:開始開始定義字符變量*s,整形變量i,Ls=(char*);malloc(sizeof(char));輸入字符串sL=strlen(s);printf("正向順序\n");i=0i<L?printf("%c",*(s++));printf("\n反向順序\n");i=0i<L?printf("%c",*(--s));printf("\n");i=i+1i=i+1YYNN結(jié)束實(shí)習(xí)總結(jié)與評(píng)分表:課程設(shè)計(jì)總結(jié)與指導(dǎo)教師評(píng)閱表學(xué)生姓名余躍文學(xué)號(hào)47班級(jí)電氣121專業(yè)電氣自動(dòng)化指導(dǎo)教師姓名周淦淼課題名稱C語(yǔ)言程序設(shè)計(jì)與分析個(gè)人總結(jié):(包括以下方面

溫馨提示

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

評(píng)論

0/150

提交評(píng)論