- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计-保龄球积分
题目:保龄球计分
【问题描述】打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。一局分10 轮,每轮可滚球1?次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后一轮或两轮的滚球情况有关,即:某轮某次滚球击倒的瓶数不仅要计入本轮得分,还可能会计入前一轮或两轮得分。计分规则如下:
若某一轮的第一次滚球就击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加2次滚球),该轮得分为本次击倒瓶数10与以后2次滚球所击倒瓶数之和。
若某一轮的第一次滚球未击倒全部10个球,则对剩下未击倒的瓶再滚球一次,如果这2次滚球击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加1次滚球),该轮得分为这2次击倒瓶数10与以后1次滚球所击倒瓶数之和。
若某一轮2次滚球未击倒全部10个瓶,则本轮不在滚球,该轮得分为这2次滚球所击倒瓶数之和。
【实现提示】
模拟10个人各打一局保龄球比赛过程,统计每局各轮得分和累计总分。
逐人逐轮逐次输入一次滚球击倒的瓶数。
对10人的得分由低到高排序并显示。
最后,把排序的存入文件中。
代码:
/* Note:Your choice is C IDE */
#include stdio.h
#include string.h
#include stdlib.h
void main()
{
FILE *fp;
int sum1(int *k);
int sum2(int *k);
int a[10][10][2];
int sum[10][10];
int sum_person[10]={0,0,0,0,0,0,0,0,0,0};
int i,j,n,p;
int b[10]={1,2,3,4,5,6,7,8,9,10},c;
int *p1,*p2;
char g[20],f[20],h[1];
char str1[]={As the rank and the score of each player shown below :\n};
char str2[]={RANK};
char str3[]={NO.};
char str4[]={SCORE};
char str5[]={ };
for (n=0;n=9;n++) /*一局内,输入每轮每次击打保龄球个数,保存到a[n][i][j]*/
{
for (i=0;i=9;i++)
{
for(j=0;j=1;j++)
{
printf(请输入%d号选手第%d轮第%d次保龄球击打个数:,n+1,i+1,j+1);
scanf(%d,a[n][i][j]);
if (a[n][i][0]==10)
{
a[n][i][1]=0;break;
}
}
}
}
for (n=0;n=9;n++) /*统计每人每局每轮得分,并相应赋值到sum_person[n],sum[n][i]*/
{
for (i=0;i=9;i++)
{
p1=a[n][i][0];p=*p1+*(p1+1);
switch(i)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
if (*p1==10)
sum[n][i]=sum1(p1);
else if (p==10)
sum[n][i]=sum2(p1);
else
sum[n][i]=p;
break;
case 8:
if (*p1==10||p==10)
sum[n][i]=sum2(p1);
else
sum[n][i]=p;break;
case 9:
sum[n][i]=p;break;
}
}
p2=sum[n][0];
for (j=0;j=9;j++)
sum_person[n]= sum_person[n]+(*(p2+j));
}
for (i=0;i=9;i++) /*十个选手得分排名*/
{
for (n=i;n=9;n++)
{
if (sum_person[n]sum_person[i])
{c=sum_person[n];
sum_person[n]=sum_person[i];
sum_person[i]=c;
c=b[n];
b[n]=b[i];
b[i]=c;
}
}
}
/*成绩输出到D:\\work\\bowling-grade.txt文件*/
if ((fp=fopen(D:\\work\\bowli
您可能关注的文档
- 2016宁夏事业单位笔试综合应用能力C类科技实务题作答方法探究.doc
- 2016届《导与练》一轮复习高效信息化课堂大题冲关集训(五).doc
- 2016年CPA考试《经济法》考点解读第10章企业国有资产法律制度02.doc
- 2016年CPA讲义《财管》第十九章营运资本投资01.doc
- 2016年会计从业资格考试-[湖北湖南河南河北]财经法规_至诚会计刘老师-第七章第九节.doc
- 2016年会计从业资格考试-[湖北湖南河南河北]财经法规_至诚会计刘老师-第七章第五节.doc
- 2016年会计从业资格考试-[湖北湖南河南河北]财经法规_至诚会计刘老师-第七章第六节.doc
- 2016年中戏考研-中央戏剧学院戏剧与影视学考研经验分享.doc
- 2016年会计从业资格考试-[湖北湖南河南河北]财经法规_至诚会计刘老师-第七章第四节.doc
- 2016年会计从业资格考试-[湖北湖南河南河北]财经法规_至诚会计刘老师-第六章第五节.doc
最近下载
- 人教版六年级上册英语第三单元教案和反思1.pdf
- ISO 20653-2023中文-道路车辆.防护等级.pdf
- 幼儿园教案幼儿园中班优质课教案.doc VIP
- 2023中国工商银行四川分行秋季校园招聘笔试历年典型考题及考点剖析附带答案详解.docx
- 顺丰控股香港上市IPO招股说明书2024版.pdf
- 3.3 地波天线.ppt
- 中国第一高中湖北卷湖北省武汉市华中师范大学第一附属中2024-2025学年高三上学期10月检测(10.19-10(含答案).pdf VIP
- 智慧消防及消防监管云平台解决方案.pptx
- 美国Megger TM1700断路器分析仪使用说明书.pdf VIP
- 水利科学技术史.pdf VIP
文档评论(0)