




已閱讀5頁,還剩21頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
項目實訓一實訓內容:1、定義一個數組a11,用以存放學生的成績。2、從鍵盤輸入10個學生成績3、采用冒泡法,將學生成績按照從高到低進行排序4、再輸入一個學生的成績,將此成績按照排序規律插入原學生成績數組5、將排好序的成績單進行反序存放,即原來是從高到低,現在改為從低到高排列。項目實訓二實訓內容:1、在函數中進行10個學生成績從高到低排名 sort(int a10)2、改進第一步的函數為sort(int a,int n),進行n個學生成績從高到低排名,3、改進第二步的函數為sort(int a,int n, char style), 將n個學生成績從高到低排名,排名方式4、根據sort()函數的style參數進行,如style為a按升序排,style為d按降序排。(a:ascending 升,d:descending 降)項目實訓三實訓內容:1、定義一個數組stu10存放10個學生的成績,從鍵盤輸入數據,要求用指針實現2、將數組stu10的內容輸出到屏幕上,要求用指針實現3、將成績數組按照從高到低進行排序,要求用指針實現4、將第三步內容放在函數中實現,在主函數中調用實現排序,用指針實現,輸出排序后的成績單5、采用指針方法,輸入字符串“student score ”,復制該字符串并輸出(復制字符串采用庫函數或用戶自定義函數)項目實訓四實訓內容:1、定義一個結構體數組,存放10個學生的學號,姓名,三門課的成績2、從鍵盤輸入10個學生的以上內容3、輸出單門課成績最高的學生的學號、姓名、以及該門課程的成績4、輸出三門課程的平均分數最高的學生的學號、姓名及其平均分5、將10個學生按照平均分數從高到低進行排序,輸出結果,格式如下所示:number name math Chinese English average103 tom 90 90 100 95101 alice 90 80 70 80 項目實訓五實訓內容:1、定義一個結構體數組,存放10個學生的學號,姓名,三門課的成績2、從鍵盤輸入10個學生的以上內容,存入文件stud.dat,關閉文件3、打開stud.dat文件,將數據讀出,查看是否正確寫入,關閉文件。4、打開文件stud.dat文件,讀出數據,將10個學生按照平均分數從高到低進行排序,分別將結果輸出到屏幕上和另一文件studsort.dat中。5、從studsort.dat 文件中讀取第2,4,6,8,10個學生的數據。最終項目學生成績管理系統完成下列功能:1、輸入:函數input把20學生的學號、姓名、性別、年齡、四科成績以及平均成績和總成績放在一個結構體數組中,學生的學號、姓名、四科成績由鍵盤輸入,然后計算出平均成績和總成績放在結構體對應的域中。2、插入:insert 函數輸入一個學生的記錄,按學號的先后順序插入該學生的全部內容。3、排序:sort函數對所有學生按要求排序(1.學號 2.總成績 ),并輸出。4、查找:find函數輸入一個學生的學號或姓名,找到該學生并輸出該學生的全部內容。要求能查詢多次。5、刪除:delete函數輸入一個學生的學號或姓名,找到該學生并刪除該學生的全部內容。6、輸出:函數output 輸出全部學生的記錄。7、main調用所有函數,實現全部函數功能(注:除了定義結構外,不允許使用全局變量,函數之間的數據全部使用參數傳遞)。/*/* 項目實訓一 */* 源代碼如下: */*/# include # include # include main () int a11; int num_init; int num_sort_1,num_sort_2; int num_temp; int num_std; int num_tag; for (num_init=0;num_init=9;num_init+) printf(%d)input:,num_init+1); scanf(%d,&anum_init); for (num_sort_2=1;num_sort_2=1;num_sort_1-) if (anum_sort_1anum_sort_1-1) num_temp=anum_sort_1; anum_sort_1=anum_sort_1-1; anum_sort_1-1=num_temp; printf(a%da%dn,anum_sort_1,anum_sort_1-1); for (num_init=0;num_init10;num_init+) printf(%d,anum_init); printf(input student score:n); scanf(%d,&num_std); for(num_init=0;num_initanum_init) num_tag=num_init; int total=10; while (num_inittotal) atotal=atotal-1; total-; anum_tag=num_std; break; for (num_init=0;num_init=10;num_init+) printf(%d ,anum_init); printf(n); for (num_sort_2=1;num_sort_2=1;num_sort_1-) if (anum_sort_1anum_sort_1-1) num_temp=anum_sort_1; anum_sort_1=anum_sort_1-1; anum_sort_1-1=num_temp; printf(a%da%dn,anum_sort_1,anum_sort_1-1); for (num_init=0;num_init=10;num_init+) printf(%d ,anum_init); printf(n); /*/* 項目實訓二 */* 源代碼如下: */*/# include # include # include # define MAXLEN 1000void sort (int a,int n,char style);int main (int argc,char *argv) int aMAXLEN; char bMAXLEN; int i=0,j,n; char s; while(1) printf(a%d=,i); fgets(b,MAXLEN,stdin); if (b0=n) break; ai=atoi(b); i+; printf(input sort style(a=asc,d=desc):); scanf(%c,&s); n=-i; sort(a,n,s); for (j=0;j0;j-) for (i=0;iai+1) t=ai; ai=ai+1; ai+1=t; else if(style=d) if (aiai+1) t=ai; ai=ai+1; ai+1=t; /*/* 項目實訓三 */* 源代碼如下: */*/# include # include # include void sort(int str);int main (void) int str10; char i_msg100; char o_msg100; int i; int *pi; char *pm_i,*pm_o; pi=str; pm_i=i_msg; pm_o=o_msg; printf(fun 1)n); printf(input 10 student score:n); for(i=0;i10;i+) scanf(%d,&stri); sort(str); printf(sort result:n); for(i=0;i10;i+) printf(%d ,*(pi+i); getchar(); printf(nfun 2)n); printf(input message:n); for(i=0;i1;j-) for(i=0;ij;i+) if(*(p+i)*(p+i+1) t=*(p+i); *(p+i)=*(p+i+1); *(p+i+1)=t; /*/* 項目實訓四 */* 源代碼如下: */*/# include # include # include int main (int argc,char *argv) struct stu int num; char name20; int math; int chinese; int english; int average; s10; struct stu temp; int n,l,i,j; for (n=0;n0;i-) for(j=0;ji;j+) if(sj.averagesj+1.average) temp.num=sj.num; strcpy(,); temp.math=sj.math; temp.chinese=sj.chinese; temp.english=sj.english; temp.average=sj.average; sj.num=sj+1.num; strcpy(,sj+1.name); sj.math=sj+1.math; sj.chinese=sj+1.chinese; sj.english=sj+1.english; sj.average=sj+1.average; sj+1.num=temp.num; strcpy(sj+1.name,); sj+1.math=temp.math; sj+1.chinese=temp.chinese; sj+1.english=temp.english; sj+1.average=temp.average; printf(max student:nnum:%dtname:%staverage:%dnn,s0.num,,s0.average); printf(numbertnametmathtChinesetEnglishtaveragen); for (n=0;n10;n+) printf(%dt,sn.num); printf(%st,); printf(%dt,sn.math); printf(%dt,sn.chinese); printf(%dt,sn.english); printf(%dn,sn.average); return 0;/*/* 項目實訓五 */* 源代碼如下: */*/# include # include # include int main (int argc,char *argv) struct str int code; char name20; int math; int English; int Chinese; int average; stu10; struct str t; int i,j,l,f=0,ch,n=0,k=0; char temp630; FILE *fp; printf(Module 1 beginn); printf(*n); printf(Input 10 student datan); for (i=0;i10;i+) printf(input %d) student code:,i); scanf(%d,&stui.code); getchar(); printf(input name:); fgets(,20,stdin); l=strlen(); l-1=0; printf(input math score:); scanf(%d,&stui.math); printf(input English score:); scanf(%d,&stui.English); printf(input Chinese score:); scanf(%d,&stui.Chinese); if (fp=fopen(/tmp/stud.dat,wt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; for (i=0;i10;i+) fprintf(fp,%d,stui.code); fputc(:,fp); fprintf(fp,%s,); fputc(:,fp); fprintf(fp,%d,stui.math); fputc(:,fp); fprintf(fp,%d,stui.English); fputc(:,fp); fprintf(fp,%d,stui.Chinese); fputc(n,fp); fclose(fp); printf(n); printf(Module 2 begin:n); printf(*n); printf(Display stud.dat file all data:n); if (fp=fopen(/tmp/stud.dat,rt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); fclose(fp); printf(n); printf(Module 3 begin:n); printf(*n); printf(Sort average score and output to studsort.datn); if (fp=fopen(/tmp/stud.dat,rt+)=NULL) printf(open file stud.dat failed!n); exit(1) ; for(i=0;i10;i+) for(k=0;k0;i-) for(j=0;ji;j+) if(stuj.averagestuj+1.average) t.code=stuj.code; strcpy(,); t.math=stuj.math; t.Chinese=stuj.Chinese; t.English=stuj.English; t.average=stuj.average; stuj.code=stuj+1.code; strcpy(,stuj+1.name); stuj.math=stuj+1.math; stuj.Chinese=stuj+1.Chinese; stuj.English=stuj+1.English; stuj.average=stuj+1.average; stuj+1.code=t.code; strcpy(stuj+1.name,); stuj+1.math=t.math; stuj+1.Chinese=t.Chinese; stuj+1.English=t.English; stuj+1.average=t.average; for(i=0;i10;i+) printf(%d %s %d %d %d %dn,stui.code,,stui.math,stui.Chinese,stui.English,stui.average); fclose(fp); if (fp=fopen(/tmp/studsort.dat,wt+)=NULL) printf(open file studsort.dat failed!n); exit(1) ; for (i=0;i10;i+) fprintf(fp,%d,stui.code); fputc(:,fp); fprintf(fp,%s,); fputc(:,fp); fprintf(fp,%d,stui.math); fputc(:,fp); fprintf(fp,%d,stui.English); fputc(:,fp); fprintf(fp,%d,stui.Chinese); fputc(:,fp); fprintf(fp,%d,stui.average); fputc(n,fp); fclose(fp); printf(Module 4 begin:n); printf(*n); printf(Ouput 2,4,6,8,10 rows datan); if (fp=fopen(/tmp/studsort.dat,rt+)=NULL) printf(open file studsort.dat failed!n); exit(1) ; for(i=0;i10;i+) for(k=0;k6;k+) n=0; tempkn=fgetc(fp); for(;tempkn!=EOF;n+) if(tempkn=:) break; if(tempkn=n) f=f+1; break; tempkn+1=fgetc(fp); tempkn=0; if(f%2)=0) stui.code=atoi(temp0); strcpy(,temp1); stui.math=atoi(temp2); stui.English=atoi(temp3); stui.Chinese=atoi(temp4); stui.average=(stui.math+stui.English+stui.Chinese)/3; printf(%d %s %d %d %d %dn,stui.code,,stui.math,stui.English,stui.Chinese,stui.average); fclose(fp);return 0;/*/* 最終項目實訓 */* 源代碼如下: */*/# include # include # include struct node int code; char name20; char type; int age; int chinese; int english; int computer; int math; int total; int average;stud100;struct node temp;void menu(void) system(clear); printf(tt 項目六實例n); printf(tt*n); printf(tt* *n); printf(tt* 1 輸 入 數 據 *n); printf(tt* 2 查 找 數 據 *n); printf(tt* 3 插 入 數 據 *n); printf(tt* 4 刪 除 數 據 *n); printf(tt* 5 打 印 數 據 *n); printf(tt* 6 排 序 數 據 *n); printf(tt* 7 退 出 *n); printf(tt* *n); printf(tt* *n); printf(tt*n); printf(tt 請輸入你的選項(1-7):);void input() int i; for (i=0;i3;i+) printf(請輸入第%d個學生學號:,i); scanf(%d,&studi.code); printf(請輸入第%d個學生姓名:,i); scanf(%s,); getchar(); printf(請輸入第%d個學生性別:,i); scanf(%c,&studi.type); printf(請輸入第%d個學生年齡:,i); scanf(%d,&studi.age); printf(請輸入第%d個學生英文成績:,i); scanf(%d,&studi.english); printf(請輸入第%d個學生國文成績:,i); scanf(%d,&studi.chinese); printf(請輸入第%d個學生計算機成績:,i); scanf(%d,&puter); printf(請輸入第%d個學生數學成績:,i); scanf(%d,&studi.math); studi.total=studi.english+studi.chinese+puter+studi.math; studi.average=studi.total/4; void find(int c) int n,m,i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論