c语言程序设计保龄球计分系统,绝对可用,完美测试.docVIP

  • 1
  • 0
  • 约4.96千字
  • 约 7页
  • 2020-12-08 发布于广东
  • 举报

c语言程序设计保龄球计分系统,绝对可用,完美测试.doc

PAGE PAGE 1 #includestdio.h #includestdlib.h inttotscore(); voidpaixu(structpeoplest[],intn);/*排序函数*/ structpeople {intnum; intscore; };/*定义结构体存储人和其对应的分数*/ intK=1; voidmain() { intJ; printf(第%d局比赛成绩录入:\n,K); printf(\n); FILE*fp;/*FILE*fp是声明,声明fp是指针,用来指向FILE类型的对象*/ inti,n;/*n是参加比赛人数*/ structpeoplest[80]; puts(请输入总人数:); scanf(%d,n); for(i=0;in;i++)/*完成一一对应的存储过程*/ { printf(请输入第%d人击倒的瓶数\n,i+1); st[i].num=i+1; st[i].score=totscore();/*引用结构体元素的形式a[i].b*/ } for(i=0;in;i++)/*输出没有排序前的数据结果*/ {printf(\n); printf(第%d人击倒的瓶数是:%d\n,st[i].num,st[i].score); printf(\n); } /*将存储后的数据排序*/ paixu(st,n); puts(======================排序后========================); printf(\n); printf(第%d局的比赛结果排序情况:\n,K); printf(排名\t选手\t得分\n); printf(\n); for(i=0;in;i++) {printf(第%d名\t第%d人\t%d\n,i+1,st[i].num,st[i].score); printf(\n); } /*排序后的结果存储到Result.txt*/ if((fp=fopen(Result.txt,a+))==NULL) { puts(====不能打开文件====); exit(0); } /*intfprintf(FILE*stream,constchar*format,...); fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.fprintf()只能和printf()一样工作.fprintf()的返回值是输出的字符数,发生错误时返回一个负值.*/ fprintf(fp,以下是第%d局比赛结果的排名:,K); fprintf(fp,\n); fprintf(fp,排名\t选手\t得分\n); for(i=0;in;i++) { fprintf(fp,第%d名\t第%d人\t%d\n,i+1,st[i].num,st[i].score); fprintf(fp,\n); } fclose(fp); K++; printf(是否继续录入下一局数据?1/0); printf(\n); scanf(%d,J); while((J!=1)(J!=0)) { printf(输入错误,请重新输入:1/0?); scanf(%d,J); } printf(\n); printf(\n); if(J==1) { main(); } else {system(Result.txt); system(pause);/*使输出窗口暂停*/ } } /*排序子函数,实现以总分为标准,将结构体成员按分数降序排列*/ voidpaixu(structpeoplest[],intn) {inti,j; structpeoplet;/*声明中间量t也是结构体*/ for(i=0;in-1;i++) for(j=i+1;jn;j++) { if(st[i].scorest[j].score) { t=st[i]; st[i]=st[j]; st[j]=t; } } } /*求每局总分数的子函数*/ inttotscore() { inta[19][5],i,j,t,m,k,x,q,w,sum=0,y=0,r=0,p=0; /*i控制第几轮数目,j控制第几次数目,t为寄存第一次击倒瓶子数变量,m为第二次击倒瓶子数变量,k为第十轮第三次击倒瓶子数目变量,x为寄存k的变量,最后要t+m+x统计第十轮总数*/ for(i=1;i=10;i++) { for(j=0;j1;)/*用i表示第i轮,j表示第i轮的第(j+1)次*/ { printf(请输入第%d轮第一次击倒的瓶数:\n,i); puts(注意输入击倒的瓶数不要高于10); scanf(%d,a[i][j]);

文档评论(0)

1亿VIP精品文档

相关文档