云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 6-保龄球计分管理系统

6-保龄球计分管理系统

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 7:50:48

打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。一局分10 轮,每轮可滚球1 次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后一轮或两轮的滚球情况有关,即:某轮某次滚球击倒的瓶数不仅要计入本轮得分,还可能会计入前一轮或两轮得分。计分规则如下

若某一轮的第一次滚球就击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加2次滚球),该轮得分为本次击倒瓶数10与以后2次滚球所击倒瓶数之和。

若某一轮的第一次滚球未击倒全部10个球,则对剩下未击倒的瓶再滚球一次,如果这2次滚球击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加1次滚球),该轮得分为这2次击倒瓶数10与以后1次滚球所击倒瓶数之和。

若某一轮2次滚球未击倒全部10个瓶,则本轮不在滚球,该轮得分为这2次滚球所击倒瓶数之和。

源文件:

#include\#include\

void li(int a[11][11]); int qiu();

void paixu(struct people st[],int n); /*定义结构体存储人和其对应的分数*/ struct people { int num; int score; };

void main() { FILE *fp; int i,n;

struct people st[80]; puts(\请输入总人数:\ scanf(\

for(i=0;i

printf(\请输入第%d人击倒的瓶数\\n\ st[i].num=i+1;

st[i].score=qiu(); }

for(i=0;i

{ printf(\第%d人击倒的瓶数是:%d\ printf(\ }

/*将存储后的数据排序*/ paixu(st,n);

puts(\排序=============================================\ for(i=0;i

{ printf(\第]人击倒瓶的总数是]\ printf(\ }

/*排序后的结果存储到binbin.txt*/

if((fp=fopen(\ {

puts(\不能打开文件======\ exit(0); }

for(i=0;i

fprintf(fp,\第%d人击倒瓶的总数是]\\n\ }

fclose(fp); }

/*排序子函数2*/

void paixu(struct people st[],int n) { int i,j;

struct people t; for(i=0;i

if(st[i].score>st[j].score) { t=st[i]; st[i]=st[j]; st[j]=t; } } }

/*求每局总分数的子函数2*/ int qiu() {

2

int a[19][8],i,j,t,m,q,w,x,sum=0,k,y=0,Q=0,p; for(i=1;i<=10;i++) { for(j=0;j<1;) {

printf(\请输入第%d轮第一次击倒的瓶数\\n\

puts(\注意输入击倒的瓶数不要高于10-------------\ scanf(\ t=a[i][j];

/*此阶段分为三中情况1.a[i][j]<10 2.a[i][j]==10 3.a[i][j]>10显然这是情形一*/

if(a[i][j]<10) {

printf(\请输入第%d轮第二次击倒的瓶数\\n\

printf(\注意输入击倒的瓶数不要高于%d--------------\\n\ j++;

scanf(\ if(a[i][j]<=10-t) {

m=a[i][j]; } else {

while(a[i][j]>10-t) {

printf(\错误!!!请输入第%d轮第二次击倒的瓶数\\n\

printf(\注意输入击倒的瓶数不要高于%d-----------\\n\

scanf(\ }

m=a[i][j]; }

3

if((a[i][j]<=10-t)&&(i<10)) {

printf(\该轮击倒的瓶数是%d\\n\ x=0; }

if((a[i][j]<10-t)&&(i==10)) {

printf(\该轮击倒的瓶数是%d\\n\ x=0; }

if((a[i][j]==10-t)&&(i==10)) {

puts(\请再次输入一次击倒的瓶数\

puts(\输入击倒的瓶数不要大于10----------\ scanf(\ if(k<=10)

x=k;/*引入K便于最后总分的计算,

因为前两次的可以方便用数组a[i][j]存贮二此次不可在用数组存储, 否则步利于总分的计算*/ else

{ while(k>10) {

puts(\再次输入一次击倒的瓶数\

printf(\输入击倒的瓶数不要大于10------------\ scanf(\ }

x=k; }

printf(\该轮击倒的瓶数是%d\\n\ } }

/* 情形2*/ if(a[i][j]==10) {

if(i==10) {

puts(\输入额外的第一次击倒的瓶数:\

puts(\注意输入击倒的瓶数不要高于10 ----------\

4

搜索更多关于: 6-保龄球计分管理系统 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。一局分10 轮,每轮可滚球1 次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后一轮或两轮的滚球情况有关,即:某轮某次滚球击倒的瓶数不仅要计入本轮得分,还可能会计入前一轮或两轮得分。计分规则如下 若某一轮的第一次滚球就击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加2次滚球),该轮得分为本次击倒瓶数10与以后2次滚球所击倒瓶数之和。 若某一轮的第一次滚球未击倒全部10个球,则对剩下未击倒的瓶再滚球一次,如果这2次滚球击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加1次滚球),该轮得分为这2次击倒瓶数10与以后1次滚球所击倒瓶数之和。 若

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com