




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
設(shè)計(jì)匯報(bào)試驗(yàn)?zāi)康模和ㄟ^上機(jī)實(shí)習(xí),純熟掌握循環(huán)語句、選擇語句、指針以及構(gòu)造體的運(yùn)用技巧。在實(shí)習(xí)中通過實(shí)際操作,編寫程序,發(fā)現(xiàn)問題,最終處理問題,提高對c語言實(shí)用性的理解,在實(shí)踐中鞏固各知識(shí)點(diǎn)。C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn),上機(jī)實(shí)習(xí)可以協(xié)助我們更好地理解這種構(gòu)造式的中級語言以及其各式各樣的數(shù)據(jù)類型和高效率的運(yùn)算程序,為我們深入學(xué)習(xí)C++打下堅(jiān)實(shí)基礎(chǔ)。同步,在實(shí)習(xí)過程中,通過互相發(fā)現(xiàn)問題,共同處理問題,不僅鍛煉了我們的合作能力,并且也讓我們發(fā)現(xiàn)了某些自己的個(gè)人誤區(qū)以及其他人輕易犯的錯(cuò)誤,從而在此后的學(xué)習(xí)中愈加謹(jǐn)慎,到達(dá)事半功倍的效果;通過問詢老師,也讓我們養(yǎng)成了不恥下問的好習(xí)慣,這將很有助于后來的學(xué)習(xí)。閑樂-一種人閑。不如大家一塊兒樂二,總體設(shè)計(jì):1,學(xué)生成績排名1,流程圖:I=0I=0再輸入一種學(xué)生的成績再輸入一種學(xué)生的成績I<10?? 假?I<10??冒泡法排序冒泡法排序a[i]a[10-i]I由0變到4進(jìn)行5次循環(huán)輸出a[0]到a[10]shu輸出a[0]到a[9]I由0變到8執(zhí)行9次循環(huán)進(jìn)行9-I次比較真a[j]>a[I+I]假a[j]a[j+1]賦值 真?a[i]a[10-i]I由0變到4進(jìn)行5次循環(huán)輸出a[0]到a[10]shu輸出a[0]到a[9]I由0變到8執(zhí)行9次循環(huán)進(jìn)行9-I次比較真a[j]>a[I+I]假a[j]a[j+1]賦值I=0I=0輸出I<11?? 輸出I<11??假?結(jié)束真?結(jié)束<通過冒泡法對數(shù)組進(jìn)行排序><測試時(shí)由于循環(huán)語句循環(huán)次數(shù)的錯(cuò)誤導(dǎo)致部分?jǐn)?shù)據(jù)沒有排序,修改FOR語言中的條件即可調(diào)試成功>2,程序:#include<stdio.h>intmain(){ inta[11],i,j,t,b,c,temp1,temp2,temp3;//定義一種數(shù)組a[11],用以寄存學(xué)生的成績 printf("從鍵盤輸入10個(gè)學(xué)生成績:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]);//輸入10個(gè)學(xué)生成績 for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}//采用冒泡法,將學(xué)生成績按照從高到低進(jìn)行排序printf("10個(gè)學(xué)生成績數(shù)組:\n"); for(i=0;i<10;i++) printf("%5d",a[i]);printf("\n"); printf("再輸入一種學(xué)生的成績\n");scanf("%d",&b);//再輸入一種學(xué)生的成績 c=a[9]; if(b<c)//將此成績按照排序規(guī)律插入原學(xué)生成績數(shù)組 a[10]=b; else {for(i=0;i<10;i++) {if(a[i]<b) {temp1=a[i];a[i]=b; for(j=i+1;j<11;j++) {temp2=a[j];a[j]=temp1;temp1=temp2; }break; } } }printf("11個(gè)學(xué)生成績數(shù)組:\n");//輸入11個(gè)學(xué)生成績for(i=0;i<11;i++) printf("%5d",a[i]);printf("\n");for(i=0;i<5;i++)//排好序的成績單進(jìn)行反序寄存 { temp3=a[i]; a[i]=a[10-i]; a[10-i]=temp3; }printf("排好序的成績單進(jìn)行反序寄存為:\n");for(i=0;i<11;i++)//輸出反序寄存后的學(xué)生成績數(shù)組 printf("%5d",a[i]);printf("\n");return0;}3,運(yùn)行成果:2,根據(jù)條件進(jìn)行學(xué)生成績排名1,流程圖:I=0,i++輸入nSort1sort2I=0,i++輸入nII=0,i++I<10?? 假?I<10??I<nI<n輸出a[0]到a[9]I由0變到8執(zhí)行9次循環(huán)進(jìn)行9-I次比較真a[j]>a[I+I]假a[j]a[j+1]賦值 真?輸出a[0]到a[9]I由0變到8執(zhí)行9次循環(huán)進(jìn)行9-I次比較真a[j]>a[I+I]假a[j]a[j+1]賦值賦值賦值I由0變到n-1執(zhí)行n次循環(huán)I由0變到n-1執(zhí)行n次循環(huán)進(jìn)行n-1-I次比較真a[j]>a[I+I]假a[j]a[j+1] 輸出a[0]到a[n-1]輸出a[0]到a[n-1] Style=97賦值I<nI=0,i++輸入nStyle=97賦值I<nI=0,i++輸入nSort3 假? SStyle=100 假? 真? 真?I由0變到n-1執(zhí)行n次循環(huán)進(jìn)行n-1-I由0變到n-1執(zhí)行n次循環(huán)進(jìn)行n-1-I次比較真a[j]<a[I+I]假a[j]a[j+1]I由0變到n-1執(zhí)行n次循環(huán)進(jìn)行n-1-I次比較真a[j]>a[I+I]假a[j]a[j+1]輸入aord輸入aord輸出a[0]到a[n-1]輸出a[0]到a[n-1]2,程序:#include<stdio.h>voidsort1(inta[10])//定義函數(shù){inti,j,t; printf("輸入10個(gè)學(xué)生成績:\n");for(i=0;i<10;i++) scanf("%d",&a[i]);//輸入n個(gè)學(xué)生成績for(i=0;i<10;i++)//冒泡法對n個(gè)數(shù)字排序 for(j=0;j<9-i;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("10個(gè)學(xué)生成績從高到低排名是:\n");for(i=0;i<10;i++)//輸出成果 printf("%5d",a[i]); printf("\n");}voidsort2(inta[],intn)//定義函數(shù){ inti,j,t;printf("請輸入學(xué)生個(gè)數(shù)n:\n");scanf("%d",&n); printf("輸入n個(gè)學(xué)生成績:\n");for(i=0;i<n;i++) scanf("%d",&a[i]);for(i=0;i<n;i++)//冒泡法對n個(gè)數(shù)字排序 for(j=0;j<n-i-1;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} printf("n個(gè)學(xué)生成績從高到低排名是:\n");for(i=0;i<n;i++)//輸出成果 printf("%5d",a[i]); printf("\n");}voidsort3(inta[],intn,charstyle){charc;getchar(c);printf("請輸入style類型:aord\n"); style=getchar(); printf("請輸入學(xué)生個(gè)數(shù)n:\n"); scanf("%d",&n); printf("輸入n個(gè)學(xué)生成績:\n");inti,j,t;for(i=0;i<n;i++) scanf("%d",&a[i]); if(style==97) {printf("對n個(gè)數(shù)字升序排列為:\n"); for(i=0;i<n;i++)//冒泡法對n個(gè)數(shù)字升序排列 for(j=0;j<n-i-1;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} }elseif(style==100) {printf("對n個(gè)數(shù)字降序排列為:\n"); for(i=0;i<n;i++)//冒泡法對n個(gè)數(shù)字降序排列 for(j=0;j<n-i-1;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} } printf("n個(gè)學(xué)生成績排名是:\n");for(i=0;i<n;i++)//輸出成果 printf("%5d",a[i]); printf("\n");}intmain()//主函數(shù){ {printf("sort1:\n");//調(diào)用sort1函數(shù)inta[10]; sort1(a);} {printf("sort2:\n");//調(diào)用sort2函數(shù) inta[30000],n; sort2(a,n);} {printf("sort3:\n");//調(diào)用sort3函數(shù) inta[30000],n; charstyle; sort3(a,n,style);} return0;}<這個(gè)程序中輸入字符時(shí)由于前面的程序的干擾,第一種輸入字符語句會(huì)直接跳過,因此要另加一種空白的輸入字符的語言,從而使程序中輸入字符的語句可以正常運(yùn)行><由于數(shù)組的長度必須要定義,并且不能用變量定義,鑒于要進(jìn)行比較的數(shù)據(jù)量n是一種整形的數(shù),定義數(shù)組為一種較長數(shù)組即可>3,運(yùn)行成果:3,用指針優(yōu)化學(xué)生成績排名流程圖:Sortcopymain2,程序:#include<stdio.h>#include<string.h>voidsort(int*p)//定義函數(shù)sort{//將成績數(shù)組按照從高到低進(jìn)行排序,規(guī)定用函數(shù)實(shí)現(xiàn) inti,j,t; for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(*(p+j)<*(p+j+1)) {t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;}}voidcopy(char*a,char*b)//定義函數(shù)copy{ for(;*a!='\0';a++,b++)//復(fù)制該字符串,用函數(shù)實(shí)現(xiàn) {*b=*a;} *b='\0';}intmain(){ inti,j,t,stu[10],*p;//定義一種數(shù)組stu[10]寄存10個(gè)學(xué)生的成績p=stu; printf("請輸入10個(gè)數(shù)據(jù):\n"); for(i=0;i<10;i++)//從鍵盤輸入數(shù)據(jù),用指針實(shí)現(xiàn) scanf("%d",p+i); printf("數(shù)組stu[10]的內(nèi)容為:\n"); for(i=0;i<10;i++)//將數(shù)組stu[10]的內(nèi)容輸出到屏幕上,用指針實(shí)現(xiàn) printf("%5d",*(p+i)); printf("\n"); for(i=0;i<9;i++)//將成績數(shù)組按照從高到低進(jìn)行排序,用指針實(shí)現(xiàn) for(j=0;j<9-i;j++) if(*(p+j)<*(p+j+1)) {t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;} printf("成績數(shù)組按照從高到低進(jìn)行排序?yàn)椋篭n");p=stu;for(i=0;i<10;i++) printf("%5d",*(p+i)); printf("\n"); p=stu; sort(p);//調(diào)用函數(shù)sort printf("第三步內(nèi)容放在函數(shù)中實(shí)現(xiàn)為:\n");for(i=0;i<10;i++) printf("%5d",*(p+i)); printf("\n"); printf("采用指針措施,輸入字符串studentscore:\n"); char*a="studentscore"; charb[14]; copy(a,b);//調(diào)用函數(shù)copy printf("%s\n",b); return0;}<指針的傳遞是雙向的,在賦值中有多種措施,例如說對數(shù)組直接賦值,或者直接對指針變量進(jìn)行賦值><復(fù)制該字符串,用函數(shù)實(shí)現(xiàn)時(shí)是用循環(huán)語句把一種字符串的每一種字符賦值給另一種字符串>運(yùn)行成果:4,學(xué)生成績單制作流程圖:Return0Return0<構(gòu)造體語言具有簡潔,以便,模塊化的特點(diǎn),在初始化及輸出過程中要注意輸入輸出方式><在輸入字符串的時(shí)候,輸入語句中不應(yīng)有&>程序:#include<stdio.h>StructStudent//定義構(gòu)造體 { charnumber[10]; charname[10]; intscore[3 ]; floataverage; }student[10];intmain(){ inti,j,t; for(i=0;i<10;i++)//初始化構(gòu)造體 {printf("\n輸入student%d成績:\n",i+1); printf("number:"); scanf("%s",student[i].number); printf("name:");//寄存10個(gè)學(xué)生的學(xué)號,姓名,三門課的成績 scanf("%s",student[i].name); for(j=0;j<3;j++) {printf("score%d:",j+1); scanf("%d",&student[i].score[j]); } student[i].average=(student[i].score[0]+student[i].score[1]+student[i].score[2])/3.0; printf("average:%f",student[i].average);} printf("\n"); printf("輸出數(shù)學(xué)成績最高的學(xué)生的學(xué)號、姓名、以及該門課程的成績:\n");//輸出單門課成績最高的學(xué)生的學(xué)號、姓名、以及該門課程的成績 intmax=0,max_math=0,max_chinese=0,max_english=0,max_average=0,max_i=0; for(i=0;i<10;i++) { if(max_math<student[i].score[0]) { max_math=student[i].score[0]; max_i=i;} }printf("number=%s,name=%s,max_math=%d\n",student[max_i].number,student[max_i].name,student[max_i].score[0]);printf("輸出中文成績最高的學(xué)生的學(xué)號、姓名、以及該門課程的成績:\n"); for(i=0;i<10;i++) { if(max_chinese<student[i].score[1]) { max_chinese=student[i].score[1]; max_i=i;} }printf("number=%s,name=%s,max_chinese=%d\n",student[max_i].number,student[max_i].name,student[max_i].score[1]);printf("輸出中文成績最高的學(xué)生的學(xué)號、姓名、以及該門課程的成績:\n"); for(i=0;i<10;i++) { if(max_english<student[i].score[2]) { max_english=student[i].score[0]; max_i=i;} }printf("number=%s,name=%s,max_english=%d\n",student[max_i].number,student[max_i].name,student[max_i].score[2]);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水渠改移施工方案
- 磚煙囪施工方案
- 中介招聘合同范例
- 農(nóng)戶養(yǎng)殖加工合同范例
- 肺癌患者放療護(hù)理
- 企業(yè)愿景與品牌戰(zhàn)略的結(jié)合計(jì)劃
- 冷庫承建合同范例
- 積極心態(tài)在工作生活中的重要性計(jì)劃
- 小班科學(xué)探究精神的培養(yǎng)活動(dòng)計(jì)劃
- 博物館展品安全管理措施計(jì)劃
- 城市供水管網(wǎng)供水管網(wǎng)檢漏技術(shù)及儀器設(shè)備應(yīng)用課件
- 檢驗(yàn)員培訓(xùn)資料-
- 房屋市政工程施工現(xiàn)場安全風(fēng)險(xiǎn)分級管控與防范措施清單
- 第三方工程評估體系檢查表
- 唐僧團(tuán)隊(duì)之如何打造團(tuán)隊(duì)
- 畢業(yè)設(shè)計(jì)外文文獻(xiàn)-Spring Boot
- 六年級下冊《生命.生態(tài).安全》全冊教案(表格式)
- DB32/T 4444-2023 單位消防安全管理規(guī)范-高清版
- 《讓孩子成才的秘密》寂靜法師
- 水下作業(yè)工程監(jiān)理實(shí)施細(xì)則(工程通用版范本)
- 小學(xué)科學(xué)教育探究一研討教學(xué)法
評論
0/150
提交評論