保龄球计分规则:
每一局总共有十格,每一格里面有两球。共有十支球瓶,要尽量在两球之内把球瓶全部击倒,如果第一球就把全部的球瓶都击倒了,也就是“STRIKE”,画面出现“X”,就算完成一格了,所得分数就是10分再加下两球的倒瓶数。
但是如果第一球没有全倒时,就要再打一球,如果剩下的球瓶全都击倒,也就是“SPARE”,画面出现“/”,也算完成一格,所得分数为10分再加下一格第一球的倒瓶数。
但是如果第二球也没有把球瓶全部击倒的话,那分数就是第一球加第二球倒的瓶数,再接着打下一格。
依此类推直到第十格。但是第十格有三球,第十格时如果第一球或第二球将球瓶全部击倒时,可再加打第三球。
扩展资料:
保龄球,又称地滚球,是在木板道上滚球击柱的一种室内运动。保龄球具有娱乐性、趣味性、抗争性和技巧性,给人以身体和意志的锻炼。
初学者想要打好保龄球,最重要的就是要学好如何助走以及正确的出球方式,助走实际上就是由站在球道上到出球的时候所需要走的路线。
通常分为三步助走,四步助走及五步助走,步伐较大的可采用比较少的步数,但是也要配合自己身体的协调性以及灵活性。右手出球的人,最后把球送出时,应该是右脚交叉在左脚的后面,左手反之。
参考资料:百度百科——保龄球
1、 全中:当每一个格的第一次投球击倒全部竖立的十个瓶子时,称为全中。用(X)符号记录在记分表上该格上方右边的小方格中。全中的记分是10分加该运动员下两次投球击倒的瓶数。一局的最高分300分,运动员必须投出十二个全中。
2、补中:当第二次投球击倒该格第一个球余下的 全部瓶子,称为补中,用(/)表示。记录在该格右上角的小方格内。补中的记分是10分加运动员下一个球击倒的瓶数。
3、失误:除第一次投球后形成分瓶外,当运动员在某格两次投球后,未能将十个瓶子全部击倒,即为失误。
扩展资料:
保龄球,又称地滚球,是在木板道上滚球击柱的一种室内运动。保龄球具有娱乐性、趣味性、抗争性和技巧性,给人以身体和意志的锻炼。
由于是室内活动,不受时间、气候等外界条件的影响,不受年龄的限制,易学易打,是一项男女老少皆宜的体育运动。已经成为现代社会中的一项时尚运动,欧洲、美洲、大洋洲和亚洲一些国家流行运动项目了。
参考资料:百度百科-保龄球规则
分类: 体育/运动 >>小球运动 >>保龄球问题描述:
用c语言实现保龄球的计分程序。
保龄球:每一局共有10小格,每格可有两次投球机会.击倒的瓶数,即为其分数,满分为10分;定义设每格击球的数据结构为:
struct strike {int first:int second;struct strike*next;}
按要求完成程序:
1)编写函数creat(void)建立一个包含11格击球组成的单向链表,返回指向链表的指针;
2)编写函数setScore(struct strike *head)读取从键盘上连续录入的击球得分将得分存入链表并返回实际击球的格数:(注:如果每格第1次全击倒10瓶,将直接进入下1格;若不全击倒可以补击一次:在第10格第1次若是全击倒,将在第11格再击2球,若是补中全击倒则在11格再击1球:若补击仍然未全击倒,则没有第11格的击球机会;)
3)编写函数getScore(struct strike *head)计算出该局实际总得分;(注:每格计分规则为:每格若未满10分按实际分记;若1次全击倒,该格成绩累加后两击的成绩;若补击全击倒,则累加后一击成绩,最后再累加各格成绩。)
4)编写main()函数完成整个程序。
解析:
记分函数我不太懂所以没有写
struct strike
{
int first
int second
struct strike *next
}
struct strike *creat()
{
struct strike *head
struct strike *p
struct strike *last
int n=0
while(n++<11)
{
p=(struct strike*)malloc(sizeof(struct strike))
if(head=NULL)
head=p
else
last->next=p
last=p
}
return head
}
void setScore(struct strike *head)
{
struct strike *p
p=head
int n=0
int num
int num2
while(n++<10)
{
printf("qing shuru %n ju de diyicichengji:",n+1)
scanf("%d",&num)
p->first=num
if(num==10)
{
p++continue
}
else
{
printf("qing shuru %n ju de diyierchengji fenshuxiaoyu%n:",n+1,10-num)
scanf("%d",&num2)
p->second=num2
p++
}
}
p--
if(p->first==10)
{
scanf("%d",&num)
p->next->first=num
if(num==10)
p->next->second=0
else{
scanf("%d",&num2)
p->next->second=num2
}
else
{
if(p->first+p->second==10)
{
scanf("%d",&num)
p->next->first=num
p->next->second=0
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)