九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

《C語言程序設(shè)計(jì)》綜合實(shí)習(xí)報(bào)告.doc

  • 資源ID:16651091       資源大?。?span id="24d9guoke414" class="font-tahoma">350.50KB        全文頁數(shù):17頁
  • 資源格式: DOC        下載積分:5積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要5積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《C語言程序設(shè)計(jì)》綜合實(shí)習(xí)報(bào)告.doc

- 17 - 17 -課題一:用指針優(yōu)化學(xué)生成績排名一、目的1熟悉變量的指針和指向變量的的指針變量的概念和使用2熟悉數(shù)組的指針和指向數(shù)組的的指針變量的概念和使用3. 掌握冒泡法或選擇法排序的算法4. 掌握函數(shù)的定義、調(diào)用、聲明,以及參數(shù)的兩種傳遞方式二、實(shí)習(xí)環(huán)境個(gè)人計(jì)算機(jī),Windows操作系統(tǒng),Turbo C 2.0或 WinTC或Visual C+等編譯開發(fā)環(huán)境三、實(shí)習(xí)內(nèi)容與步驟1定義一個(gè)數(shù)組stu10存放10個(gè)學(xué)生的成績,從鍵盤輸入數(shù)據(jù),要求用指針實(shí)現(xiàn)2將數(shù)組stu10的內(nèi)容輸出到屏幕上,要求用指針實(shí)現(xiàn)3將成績數(shù)組按照從高到低進(jìn)行排序,要求用指針實(shí)現(xiàn)4將第三步內(nèi)容放在函數(shù)中實(shí)現(xiàn),在主函數(shù)中調(diào)用實(shí)現(xiàn)排序,用指針實(shí)現(xiàn),輸出排序后的成績單5采用指針方法,輸入字符串“student score ”,復(fù)制該字符串并輸出(復(fù)制字符串采用庫函數(shù)或用戶自定義函數(shù))6在實(shí)習(xí)報(bào)告中畫出程序流程圖,說明程序設(shè)計(jì)的算法,附主要程序段運(yùn)行結(jié)果(屏幕截圖)。7. 在實(shí)習(xí)報(bào)告中說明知識點(diǎn)。8在實(shí)習(xí)報(bào)告中說明程序設(shè)計(jì)過程中的難點(diǎn)、解決辦法及編程小結(jié)或體會。四、程序流程圖、算法及運(yùn)行結(jié)果1.程序流程圖:開始由鍵盤輸入成績輸出成績比較成績的高低復(fù)制student score對成績排序輸出字符串輸出排序好的成績結(jié)束2.算法:先定義一個(gè)函數(shù)接收10個(gè)學(xué)生的成績,利用指針將數(shù)據(jù)保存在數(shù)組中,再定義第二個(gè)函數(shù)輸出所以學(xué)生的成績,同樣也是使用指針,最后定義一個(gè)函數(shù)用選擇排序法對成績進(jìn)行由大到小的排序,將指針指向的是數(shù)組中的第一個(gè)地址,在主函數(shù)中依次調(diào)用這兩個(gè)函數(shù);定義一個(gè)字符指針指向字符串,利用庫函數(shù)中的strcpy將student score復(fù)制給字符指針,輸出字符串3.程序:#include"stdio.h"#include"string.h"struct studentint grade;int num;stu10;void input(struct student *p) int i;for(i=0;i<10;i+,p+) printf("請輸入第 %-2d個(gè)學(xué)生的成績:",i+1);scanf("%d%d",&p->num,&p->grade); void printout(struct student *p) int i;for(i=0;i<10;i+,p+)printf("第 %-2d個(gè)學(xué)生的成績?yōu)椋?dn",i+1,p->grade);void arrow (int *p1,int *p2,int *px,int *py) int t,m; t=*px; *px=*py; *py=t;m=*p1; *p1=*p2; *p2=m; void place(struct student stu) int i,j; for(i=1;i<10;i+ ) for(j=0;j<10-i;j+) if (stuj.grade<stuj+1.grade)arrow(&stuj.num,&stuj+1.num,&stuj.grade,&stuj+1.grade); int main(void) struct student stu10,*ptr;int i;char string100,*s;s=string;ptr=stu;input(ptr);printout(ptr);place(stu);printf("排序后的成績單為:n");for(i=0;i<10;i+) printf("第 %-2d名 %-2d %-5dn",i+1,stui.num,stui.grade);printf("n"); strcpy(s,"student score");printf("%sn",string);4.運(yùn)行結(jié)果:五、知識點(diǎn)、難點(diǎn)及解決辦法。主要考察的是利用指針作為函數(shù)參數(shù)以及指針數(shù)組的知識點(diǎn),如何使指針指向數(shù)組并能將值返回給主函數(shù)是一個(gè)難點(diǎn)首先定義一個(gè)整型指針指向數(shù)組stu的首地址,在自定義函數(shù)中運(yùn)用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)指針的移動并分別存儲各個(gè)學(xué)生的成績返回給主函數(shù)六、編程小結(jié)或體會。編程時(shí)除了注意指針與函數(shù)如何調(diào)用外,還要注意細(xì)節(jié)問題,比如自定義變量類型的統(tǒng)一,循環(huán)結(jié)構(gòu)的循環(huán)次數(shù)等等,要謹(jǐn)慎對待課題二:學(xué)生成績單制作一、目的1掌握結(jié)構(gòu)體變量及數(shù)組的定義、賦值、初始化、輸入、輸出2結(jié)構(gòu)體數(shù)組的操作。二、實(shí)習(xí)環(huán)境個(gè)人計(jì)算機(jī),Windows操作系統(tǒng),Turbo C 2.0或 WinTC或Visual C+等編譯開發(fā)環(huán)境三、實(shí)習(xí)內(nèi)容與步驟1定義一個(gè)結(jié)構(gòu)體數(shù)組,存放10個(gè)學(xué)生的學(xué)號,姓名,三門課的成績2從鍵盤輸入10個(gè)學(xué)生的以上內(nèi)容3輸出單門課成績最高的學(xué)生的學(xué)號、姓名、以及該門課程的成績4輸出三門課程的平均分?jǐn)?shù)最高的學(xué)生的學(xué)號、姓名及其平均分5將10個(gè)學(xué)生按照平均分?jǐn)?shù)從高到低進(jìn)行排序,輸出結(jié)果,格式如下所示:number name math Chinese English average103 tom 90 90 100 95101 alice 90 80 70 80 6在實(shí)習(xí)報(bào)告中畫出程序流程圖,說明程序設(shè)計(jì)的算法,附主要程序段及運(yùn)行結(jié)果(屏幕截圖)。7在實(shí)習(xí)報(bào)告中說明知識點(diǎn)。8在實(shí)習(xí)報(bào)告中說明程序設(shè)計(jì)過程中的難點(diǎn)、解決辦法及編程小結(jié)或體會四、程序流程圖、算法及運(yùn)行結(jié)果1.程序流程圖:比較每個(gè)學(xué)生單門課成績計(jì)算每個(gè)學(xué)生平均分比較按平均分高低排序結(jié)束開始鍵入每個(gè)學(xué)生的信息根據(jù)返回值輸出相應(yīng)的學(xué)生信息按照排序輸出學(xué)生信息2.算法:先定義一個(gè)結(jié)構(gòu)體,存儲學(xué)生的各項(xiàng)信息,定義一個(gè)結(jié)構(gòu)體指針指向結(jié)構(gòu)體數(shù)組,第一個(gè)函數(shù)比較每個(gè)學(xué)生單門課的成績,返回每一門課最高分學(xué)生的stu的下標(biāo);第二個(gè)函數(shù)比較每個(gè)學(xué)生的平均分,返回平均分最高的學(xué)生;第三個(gè)函數(shù)主要按照平均分高低對學(xué)生進(jìn)行排序,通過循環(huán)和選擇排序法實(shí)現(xiàn)指針的移動以及重新排列,主函數(shù)中依次調(diào)用這三個(gè)函數(shù)3.程序:#include"stdio.h"#define N 10struct studentlong number;char name20;float grade3; float average;stu10;int hanshu_best(struct student *p,int m) int q,num;float a;a=p->gradem;num=0;for(q=0;q<N-1;q+)if(p+q)->gradem>a) a=(p+q)->gradem; num=q; return num;int hanshu_average(struct student *p) int i,m,index;float a;for(m=0;m<N;p+,m+) p->average=0;for(i=0;i<3;i+)p->average=p->average+p->gradei; p->average=p->average*1.0/3; a=p->average;for(m=0;m<N;p+,m+)if(p->average>a) a=p->average; index=m; elseindex=0;return index;void hanshu_place(struct student stu) int i,j; struct student t;for(i=0;i<N;i+)for(j=i;j<N-1;j+)if(stuj+1.average>stui.average) t=stuj+1; stuj+1=stui; stui=t;void main()struct student stu10,*ptr;int i,j,index,m,num;float average;ptr=stu;for(i=0;i<N;i+) printf("請輸入第%d個(gè)學(xué)生的學(xué)號、姓名及三科成績:n",i+1); scanf("%ld%s",&stui.number,stui.name);for(j=0;j<3;j+)scanf("%f",&stui.gradej); printf("n");for(m=0;m<3;m+) num=hanshu_best(ptr,m);printf("學(xué)號%ld 姓名:%-10s 最高分% -8.2fn",stunum.number,stunum.name,stunum.gradem); index=hanshu_average(ptr); printf("n三門課平均分最高的學(xué)生信息是:n"); printf("學(xué)號%ld 姓名:%-10s 平均分%-8.2fn",stuindex.number,stuindex.name,stuindex.average); printf("n10個(gè)學(xué)生由高分到低分排名為:n");printf("number name Math Chinese English averagen");hanshu_place(ptr);for(i=0;i<N;i+) printf("%-10ld%-10s%",stui.number,stui.name); for(j=0;j<3;j+)printf("%-10.2f",stui.gradej);printf("%-10.2fn",stui.average);4.運(yùn)行結(jié)果:五、知識點(diǎn)、難點(diǎn)及解決辦法。 主要考察的是結(jié)構(gòu)體指針的運(yùn)用,比較難的地方也就是如何將指針指向結(jié)構(gòu)體并返回我們所要的數(shù)值 先定義一個(gè)結(jié)構(gòu)體數(shù)組,再定義一個(gè)結(jié)構(gòu)體指針,令指針指向數(shù)組的首地址,在自定義函數(shù)中通過指針的運(yùn)算實(shí)現(xiàn)數(shù)組的運(yùn)算,并返回相應(yīng)的值六、編程小結(jié)或體會。在輸出我們所需要的數(shù)據(jù)時(shí)候可以通過一些小技巧使程序看起來更好看。掌握結(jié)構(gòu)體指針的技巧可以解決很多問題,使自己的程序具有解決多個(gè)復(fù)雜問題的能力,以后多練習(xí)此類的程序設(shè)計(jì)問題,使自己更加熟練課題三:學(xué)生成績文件管理一、目的1掌握文件指針的概念和運(yùn)用2掌握文件的相關(guān)操作:打開、讀、寫、關(guān)閉3掌握文件的定位操作二、實(shí)習(xí)環(huán)境個(gè)人計(jì)算機(jī),Windows操作系統(tǒng),Turbo C 2.0或 WinTC或Visual C+等編譯開發(fā)環(huán)境三、實(shí)習(xí)內(nèi)容與步驟1定義一個(gè)結(jié)構(gòu)體數(shù)組,存放10個(gè)學(xué)生的學(xué)號,姓名,三門課的成績2從鍵盤輸入10個(gè)學(xué)生的以上內(nèi)容,存入文件stud.txt,關(guān)閉文件3打開stud.txt文件,將數(shù)據(jù)讀出,查看是否正確寫入,關(guān)閉文件。4打開文件stud.txt文件,讀出數(shù)據(jù),將10個(gè)學(xué)生按照平均分?jǐn)?shù)從高到低進(jìn)行排序,分別將結(jié)果輸出到屏幕上和另一文件studsort.txt中。5在實(shí)習(xí)報(bào)告中畫出程序流程圖,說明程序設(shè)計(jì)的算法,附主要程序段及運(yùn)行結(jié)果(屏幕截圖)。6在實(shí)習(xí)報(bào)告中說明知識點(diǎn)。7在實(shí)習(xí)報(bào)告中說明程序設(shè)計(jì)過程中的難點(diǎn)、解決辦法及編程小結(jié)或體會。四、程序流程圖、算法及運(yùn)行結(jié)果1.程序流程圖: 將學(xué)生信息存入文件中鍵入每個(gè)學(xué)生的信息將文件中的信息讀出按平均分高低排序?qū)⑴判蚝蟮男畔⒋嫒肓硪晃募_始結(jié)束2.算法:首先創(chuàng)建一個(gè)可讀可寫的新文件stud.txt,鍵入十個(gè)學(xué)生的信息并儲存在文件中,關(guān)閉程序;打開文件stud.txt,讀出文件中的信息并輸出,檢查有無錯漏,并按照平均分通過選擇排序法對學(xué)生由高到低排序,關(guān)閉程序;將排好序的信息輸出并存儲在新的可寫文件studsort.txt中3.程序:#include"stdio.h"#include"stdlib.h"#define N 10struct studentlong num;char name20;int grade3;stu10;int main(void) FILE *fp,*fpp; struct student stu10,t;float average100;int i=0,j;if(fp=fopen("stud.txt","w+")=NULL) printf("該文件打開失??!"); exit(0); for(i=0;i<N;i+) printf("第 %-2d個(gè)學(xué)生的學(xué)號、姓名及三門課成績:n",i+1);scanf("%ld%s",&stui.num,stui.name);fprintf(fp,"第%-2d個(gè)學(xué)生的學(xué)號、姓名及三門課成績:n",i+1);fprintf(fp,"%ld %-5s",stui.num,stui.name);for(j=0;j<3;j+) scanf("%d",&stui.gradej);fprintf(fp,"%d ",stui.gradej); fprintf(fp,"n"); if(fclose(fp) printf("該文件無法正常關(guān)閉!n"); exit(0); if(fp=fopen("stud.txt","r+")=NULL) printf("該文件打開失敗!");exit(0); printf("n");for(i=0;i<N;i+) printf("第%d個(gè)學(xué)生的學(xué)號、姓名及三門課成績:n",i+1);fscanf(fp,"%ld%s",&stui.num,stui.name);printf("%ld %-5s",stui.num,stui.name);for(j=0;j<3;j+) fscanf(fp,"%d",&stui.gradej); printf("%d ",stui.gradej); printf("n");if(fclose(fp) printf("該文件無法正常關(guān)閉!n"); exit(0); if(fp=fopen("stud.txt","r+")=NULL) printf("該文件打開失??!");exit(0); for(i=0;i<N;i+) fscanf(fp,"%ld%s",&stui.num,stui.name);for(j=0;j<3;j+)fscanf(fp,"%d",&stui.gradej); for(i=0;i<N;i+) for(j=0;j<3;j+)averagei=averagei+stui.gradej;averagei=averagei*1.00/3; for(i=0;i<N-1;i+)for(j=i;j<N;j+)if(averagej+1>averagei) t=stuj+1; stuj+1=stui; stui=t; if(fclose(fp) printf("該文件無法正常關(guān)閉!n"); exit(0); if(fpp=fopen("studsort.txt","w+")=NULL) printf("該文件打開失??!");exit(0); printf("n由高到低排序?yàn)椋簄");for(i=0;i<N;i+) printf("%ld %-5s",stui.num,stui.name);fprintf(fpp,"%ld %-5s",stui.num,stui.name);for(j=0;j<3;j+) fprintf(fpp,"%d ",stui.gradej); printf("%d ",stui.gradej); printf("n"); fprintf(fpp,"n"); if(fclose(fp) printf("該文件無法正常關(guān)閉!n"); exit(0); 4.運(yùn)行結(jié)果:五、知識點(diǎn)、難點(diǎn)及解決辦法。 主要考察對于文件信息的存儲以及讀取文件內(nèi)的信息,難點(diǎn)在于如何將信息存儲起來以及如何從文件中讀取有效信息并顯示在調(diào)式框中 首先定義一個(gè)指針指向文件,然后創(chuàng)建或是打開一個(gè)的文件,注意文件的類型和打開方式,如果是寫入信息則用fprintf,如果是讀取信息則是fscanf,注意寫入和讀取的書寫格式,前面許注明指向該文件的指針六、編程小結(jié)或體會。 通過文件的學(xué)習(xí),以后調(diào)試程序后還可以將信息永久的保存起來隨時(shí)使用或更改,不需要使用一次就輸入一次,方便又省時(shí)間,課題四:鏈表的創(chuàng)建與使用一、目的1掌握單向鏈表的概念2掌握單向鏈表的創(chuàng)建、查找、刪除方法二、實(shí)習(xí)環(huán)境個(gè)人計(jì)算機(jī),Windows操作系統(tǒng),Turbo C 2.0或 WinTC或Visual C+等編譯開發(fā)環(huán)境三、實(shí)習(xí)內(nèi)容與步驟1創(chuàng)建一個(gè)單向鏈表,存放10個(gè)學(xué)生的學(xué)號,姓名,并輸出這種10個(gè)學(xué)生的信息。2在鏈表中查找指定學(xué)號的學(xué)生,輸出其姓名。 3在鏈表中刪除指定學(xué)號的學(xué)生,然后輸出其余學(xué)生的信息。4在實(shí)習(xí)報(bào)告中畫出程序流程圖,說明程序設(shè)計(jì)的算法,附主要程序段及運(yùn)行結(jié)果(屏幕截圖)。5在實(shí)習(xí)報(bào)告中說明知識點(diǎn)。6在實(shí)習(xí)報(bào)告中說明程序設(shè)計(jì)過程中的難點(diǎn)、解決辦法及編程小結(jié)或體會。四、程序流程圖、算法及運(yùn)行結(jié)果1.程序流程圖:鍵入10個(gè)學(xué)生的信息開始結(jié)束主函數(shù)創(chuàng)建鏈表將學(xué)生信息存儲進(jìn)去查找指定學(xué)號的學(xué)生刪除指定學(xué)號的學(xué)生輸出其余學(xué)生信息輸出該學(xué)生姓名2.算法: 用指針處理單向鏈表,定義一個(gè)頭指針,尾指針,通過尾指針的移動實(shí)現(xiàn)數(shù)據(jù)信息的存儲與讀??;刪除結(jié)點(diǎn)時(shí),應(yīng)該先將要刪除結(jié)點(diǎn)前后的結(jié)點(diǎn)連上,然后再將其刪除,保證鏈表不會“斷”。3.程序:#include"stdio.h"#include"stdlib.h"#define N 10#define len sizeof(struct student)struct studentlong num;char name20; struct student *next;void search(struct student *head) long number;struct student *p;p=head;printf("請輸入要查找的學(xué)生學(xué)號:");scanf("%ld",&number);do if(p->num=number)printf("%-15sn",p->name); p=p->next; while(p!=NULL);void cdelete(struct student *q) struct student *p1,*p2; long count;printf("請輸入你要刪除的學(xué)生學(xué)號:");scanf("%ld",&count);p1=q;while(count!=p1->num&&p1->next!=NULL) p2=p1; p1=p1->next; ;if(count=p1->num) if(p1=q)q=p1->next;elsep2->next=p1->next; printf("delete :%ldn",p1->num); int main(void) struct student *head,*tail,*p,*p1,*p2,*q; int n=0,i;long number,NUM;printf("請輸入%d個(gè)學(xué)生的信息:n",N); p=tail=(struct student *)malloc(len);head=NULL;scanf("%ld%s",&p->num,p->name);while(p->num!=0) n+=1;if(n=1)head=p;elsetail->next=p;tail=p;p=(struct student *)malloc(len);scanf("%ld%s",&p->num,p->name); ;tail->next=NULL; printf("n這10個(gè)學(xué)生的信息為:n"); p=head;if(head!=NULL)do printf("%-15ld%-15sn",p->num,p->name); p=p->next; while(p!=NULL); search(head); q=head;cdelete(q);do printf("%-15ld%-15sn",q->num,q->name); q=q->next; while(q!=NULL);4.運(yùn)行結(jié)果:五、知識點(diǎn)、難點(diǎn)及解決辦法。 主要考察利用指針制作單向鏈表,難點(diǎn)在于各個(gè)結(jié)點(diǎn)的鏈接以及對于鏈表的輸出,刪除結(jié)點(diǎn)時(shí)如何不讓鏈表斷開 定義一個(gè)頭指針和一個(gè)尾指針,通過尾指針的移動實(shí)現(xiàn)結(jié)點(diǎn)的鏈接,刪除結(jié)點(diǎn)時(shí)先將要刪除結(jié)點(diǎn)兩端的結(jié)點(diǎn)鏈接上,再刪除。六、編程小結(jié)或體會。 制作單向鏈表是對指針的充分運(yùn)用,可以節(jié)省內(nèi)存,但是要熟練掌握還是有

注意事項(xiàng)

本文(《C語言程序設(shè)計(jì)》綜合實(shí)習(xí)報(bào)告.doc)為本站會員(小**)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!