




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、#include"stdio.h"#include"stdlib.h"int totscore();void paixu(struct people st,int n);/*排序函數(shù)*/struct people int num; int score;/*定義結(jié)構(gòu)體存儲(chǔ)人和其對(duì)應(yīng)的分?jǐn)?shù)*/int K=1;void main()int J;printf("第%d局比賽成績(jī)錄入:n",K);printf("n");FILE *fp;/* FILE *fp 是聲明,聲明fp是指針,用來(lái)指向FILE類(lèi)型的對(duì)象*/int i
2、,n;/*n是參加比賽人數(shù)*/ struct people st80; puts("-請(qǐng)輸入總?cè)藬?shù):");scanf("%d",&n); for(i=0;i<n;i+)/*完成一一對(duì)應(yīng)的存儲(chǔ)過(guò)程*/ printf(" 請(qǐng)輸入第%d人擊倒的瓶數(shù)n",i+1); sti.num=i+1; sti.score= totscore();/*引用結(jié)構(gòu)體元素的形式ai.b*/ for(i=0;i<n;i+)/*輸出沒(méi)有排序前的數(shù)據(jù)結(jié)果*/ printf("n"); printf("第%d人擊倒的瓶
3、數(shù)是:%dn",sti.num,sti.score); printf("n"); /*將存儲(chǔ)后的數(shù)據(jù)排序*/ paixu(st,n); puts("=排序后="); printf("n"); printf("第%d局的比賽結(jié)果排序情況:n",K); printf(" 排名t 選手t 得分n"); printf("n"); for(i=0;i<n;i+) printf("第%d名t 第%d人t %dn",i+1,sti.num,sti.sco
4、re); printf("n"); /*排序后的結(jié)果存儲(chǔ)到Result.txt */ if(fp=fopen("Result.txt","a+")=NULL) puts("=不能打開(kāi)文件="); exit(0); /* int fprintf( FILE *stream, const char *format, . );fprintf()函數(shù)根據(jù)指定的format(格式)發(fā)送信息(參數(shù))到由stream(流)指定的文件. fprintf()只能和printf()一樣工作. fprintf()的返回值是輸出的字符數(shù),
5、發(fā)生錯(cuò)誤時(shí)返回一個(gè)負(fù)值. */ fprintf(fp,"以下是第%d局比賽結(jié)果的排名:",K); fprintf(fp,"n"); fprintf(fp," 排名t 選手t 得分n"); for(i=0;i<n;i+) fprintf(fp,"第%d名t 第%d人t %dn",i+1,sti.num,sti.score); fprintf(fp,"n"); fclose(fp); K+;printf("是否繼續(xù)錄入下一局?jǐn)?shù)據(jù)?1/0");printf("n&q
6、uot;);scanf("%d",&J);while(J!=1)&&(J!=0)printf("輸入錯(cuò)誤,請(qǐng)重新輸入:1/0 ?");scanf("%d",&J);printf("n");printf("n");if(J=1)main();elsesystem("Result.txt");system("pause"); /*使輸出窗口暫停*/*排序子函數(shù),實(shí)現(xiàn)以總分為標(biāo)準(zhǔn),將結(jié)構(gòu)體成員按分?jǐn)?shù)降序排列*/void paixu
7、(struct people st,int n) int i,j; struct people t;/*聲明中間量t也是結(jié)構(gòu)體*/ for(i=0;i<n-1;i+) for(j=i+1;j<n;j+) if(sti.score<stj.score)t=sti; sti=stj; stj=t; /*求每局總分?jǐn)?shù)的子函數(shù)*/int totscore()int a195,i,j,t,m,k,x,q,w,sum=0,y=0,r=0,p=0;/*i控制第幾輪數(shù)目,j控制第幾次數(shù)目,t為寄存第一次擊倒瓶子數(shù)變量,m為第二次擊倒瓶子數(shù)變量,k為第十輪第三次擊倒瓶子數(shù)目變量,x為寄存k的變
8、量,最后要t+m+x統(tǒng)計(jì)第十輪總數(shù)*/ for(i=1;i<=10;i+) for(j=0;j<1;)/*用i表示第i輪,j表示第i輪的第(j+1)次*/ printf(" 請(qǐng)輸入第%d輪第一次擊倒的瓶數(shù):n",i); puts("-注意輸入擊倒的瓶數(shù)不要高于10-"); scanf("%d",&aij);/*上面是第i論的(j+1)次擊球數(shù)目,根據(jù)第一次的擊球數(shù)又分為下面三種情況決定第二次擊球,主要討論aij<=0兩種情況 */ while(aij>10) printf("error數(shù)值溢出
9、,請(qǐng)重新輸入第%d輪第一次擊倒的瓶數(shù):n",i);puts(" -請(qǐng)輸入擊倒的瓶數(shù)不要大于10-");scanf("%d",& aij); t=aij; /*只有數(shù)據(jù)正確才會(huì)脫離while語(yǔ)句,賦值給變量t,放便于數(shù)據(jù)的變化,而數(shù)組專(zhuān)門(mén)用來(lái)存放每輪每次的擊倒球數(shù)目,所以具體分以下兩種情況*/*情況一,第一次擊球少于10個(gè)時(shí)*/ if(aij<10) printf(" 請(qǐng)輸入第%d輪第二次擊倒的瓶數(shù):n",i); printf("-注意輸入擊倒的瓶數(shù)不要高于%d-n",10-t); j+;/*
10、此時(shí)下面這個(gè)aij已經(jīng)是第i輪的第二次擊球了,并且又分為第十輪以下第十輪以上的情況*/ scanf("%d",&aij); if(aij<=10-t) m=aij; else while(aij>10-t) printf("error數(shù)值溢出,請(qǐng)輸入第%d輪第二次擊倒的瓶數(shù):n",i); printf("-注意輸入擊倒的瓶數(shù)不要高于%d-n",10-t); scanf("%d",&aij); /*如果輸入的一直大于10-t就一直顯示錯(cuò)誤*/ m=aij; /*由于第10輪又有特殊情況,所
11、以下面又加以區(qū)分:*/ if(m<=10-t)&&(i<10)/*在第十輪以下時(shí),直接計(jì)算兩次總和輸出*/ printf("第%d輪擊倒的瓶數(shù)是%dn",i,m+t);printf("n");x=0; /*防止最后結(jié)果是隨機(jī)數(shù)以下一樣*/ if(m<10-t)&&(i=10)/*第十輪的第二次擊球如果少于10-t個(gè),將失去第三次擊球機(jī)會(huì)所以也是直接輸出結(jié)果*/ printf("第%d輪擊倒的瓶數(shù)是%dn",i,m+t);printf("n");x=0; if(m=1
12、0-t)&&(i=10)/*第十輪第二次正好擊倒10-t個(gè)瓶子,則第十輪第一第二次總和為10瓶子,所以獲得第三次擊球獎(jiǎng)勵(lì),之后再計(jì)算三次總和*/ puts(" 請(qǐng)?jiān)俅屋斎胍淮螕舻沟钠繑?shù)"); puts("-輸入擊倒的瓶數(shù)不要大于10-"); scanf("%d",&k); if(k<=10) x=k;/*引入K便于最后總分的計(jì)算, 因?yàn)橹皇窍M麛?shù)組aij存儲(chǔ)兩次的擊球數(shù)目, 否則不利于總分的計(jì)算*/ else while(k>10) puts("error數(shù)據(jù)溢出,請(qǐng)?jiān)俅屋斎胍淮螕舻沟钠繑?shù)
13、:"); printf("-輸入擊倒的瓶數(shù)不要大于10-"); scanf("%d",&k); x=k; printf("第%d輪擊倒的瓶數(shù)是%dn",i,m+t+x); printf("n"); /*至此情況1完畢*/ /* 情形2,第一次擊球就已經(jīng)夠10個(gè)時(shí) */if(t=10) /*t表示第一次的擊球數(shù)目,在前面已經(jīng)有寫(xiě),這里注釋提醒*/ if(i=10)/*第10論的第一次擊球夠10個(gè)時(shí)*/ puts(" 輸入額外的第一次擊倒的瓶數(shù):"); puts("-注意
14、輸入擊倒的瓶數(shù)不要高于10 -"); scanf("%d",&w); while(w>10) puts("error數(shù)據(jù)溢出,請(qǐng)重新輸入第一次額外擊倒的瓶數(shù):"); puts(" -請(qǐng)輸入擊倒的瓶數(shù)不要大于10-"); scanf("%d",&w); if(w<=10) y=w; if(y=10) puts(" 輸入第二次額外擊倒的瓶數(shù)!"); puts(" -請(qǐng)輸入擊倒的瓶數(shù)不要大于10-"); scanf("%d"
15、,&p); if(p<=10) r=p;/*引入 r的作用與引入k的作用是一樣的,便于計(jì)算總分*/ else while(p>10) puts("error數(shù)據(jù)溢出,請(qǐng)輸入第二次額外擊倒的瓶數(shù):"); puts(" -請(qǐng)輸入擊倒的瓶數(shù)不要大于10-"); scanf("%d",&p); r=p;x=0;/*防止最后結(jié)果是隨機(jī)數(shù)*/ else/*是y=w<=10的<10情況,即是第一次額外擊球不夠10個(gè),這里第二次就是把剩下的進(jìn)行擊球*/ puts(" 輸入第二次額外擊倒的瓶數(shù)!&quo
16、t;); printf(" -請(qǐng)輸入擊倒的瓶數(shù)不要大于%d的分?jǐn)?shù)!-n",10-y); scanf("%d",&p); if(p<=10-y) r=p; else while(p>10-y) puts(" 輸入第二次額外擊倒的瓶數(shù)!"); printf(" -請(qǐng)輸入擊倒的瓶數(shù)不要大于%d的分?jǐn)?shù)!-n",10-y); scanf("%d",&p); r=p; x=0;/*避免計(jì)算結(jié)果時(shí)產(chǎn)生隨機(jī)數(shù)*/ printf("第%d輪擊倒的瓶數(shù)是%dn",i,10+y+r); printf("n"); printf("n"); j+; aij=0; if(i<10) /*如果第十輪之前的第一次擊球已經(jīng)10個(gè),直接到省去二次擊球*/
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專(zhuān)用電路設(shè)計(jì)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書(shū)
- 野生動(dòng)物攝影游行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書(shū)
- 體育信息AI應(yīng)用行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書(shū)
- 會(huì)議用速溶茶創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書(shū)
- 體育用品產(chǎn)品綜合銷(xiāo)售在線平臺(tái)行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書(shū)
- 基于核心素養(yǎng)培養(yǎng)的高中化學(xué)教學(xué)實(shí)踐
- 2025年中國(guó)防滑器市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)聚苯乙烯泡沫塑料保鮮箱市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)精制胖大海市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)碳鋼板材市場(chǎng)調(diào)查研究報(bào)告
- 第七單元1認(rèn)識(shí)小數(shù)(課件)-三年級(jí)數(shù)學(xué)下冊(cè)(人教版)
- 2025年中國(guó)鐵路濟(jì)南局集團(tuán)招聘筆試沖刺題(帶答案解析)
- 2025年全國(guó)高考一卷英語(yǔ)真題(解析版)
- 湖南省長(zhǎng)沙市2025年七年級(jí)下學(xué)期語(yǔ)文期末試卷(附參考答案)
- 農(nóng)機(jī)停放場(chǎng)管理制度
- 2025年浙江省嘉興市南湖區(qū)中考二模英語(yǔ)試題(含答案無(wú)聽(tīng)力原文及音頻)
- T/SHPTA 071.1-2023高壓電纜附件用橡膠材料第1部分:絕緣橡膠材料
- 湖北省浠水縣聯(lián)考2025年七下數(shù)學(xué)期末質(zhì)量檢測(cè)試題含解析
- 生產(chǎn)基層管理培訓(xùn)課程
- 2025至2030年中國(guó)豬預(yù)混料行業(yè)投資前景及策略咨詢(xún)研究報(bào)告
- 2025年中央八項(xiàng)規(guī)定精神學(xué)習(xí)教育應(yīng)知應(yīng)會(huì)考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論