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文件

保龄球积分c语言程序,C语言保龄球积分.doc相关推荐

  1. c语言基础程序设计报告,c语言程序设计基础课程设计报告.doc

    c语言程序设计基础课程设计报告.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: C 语言程序 ...

  2. 微分法MATLAB语言程序,MATLAB语言常用算法程序集 102MB 百度网盘

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x MATLAB语言常用算法程序集 102MB 百度网盘 点击进入 上篇 matlab基础 ...

  3. 棱形旋转c语言程序_C 语言时隔 5 年重回巅峰,这 20 个热门项目拿去练手!

    在上个月的 TIOBE 编程语言排名中,C 语言和 Java 的差距只有 0.01%.在近日 TIOBE 公布的 2020 年 5 月编程语言排行榜中,C 语言成功超越了 Java,重返第一的王者宝座 ...

  4. 蜂鸣器发出7种音阶c语言程序_C语言编程新思路

    第一章 单元测试 1.单选题: 关于一个C语言程序执行的起点和终点,以下选项正确的是 ( ). 选项: A: main 任意 B: main 最后一个 C: main main D: 第一个 最后一个 ...

  5. 比0 冷1度c语言编程,关于DS18B20的C语言程序(精确度0.1度).doc

    关于DS18B20的C语言程序(精确度0.1度) 关于DS18B20的C语言程序(精确度0.1度) /************************************************* ...

  6. 循环彩灯实验c语言程序,实验3LED指示灯循环控制.doc

    实验3LED指示灯循环控制 洛阳理工学院实验报告 系部计算机系班级B100508学号姓名王彪课程名称单片机原理及应用实验日期2012.5.26实验名称LED指示灯循环控制成绩[实验目的]熟悉uVisi ...

  7. 文件的记录c语言程序,c语言程序学生籍贯信息记录簿设计.docx

    c 语言程序学生籍贯信息记录簿设计 学生籍贯信息记录簿 课程设计报告书 班 级: 方 0909-1 学 号:姓 名: 苑 小 叶 指导教师 : 康 亚 男 石家庄铁道大学四方学院 2010年 07月 ...

  8. 学生实验平台搭建c语言程序,c语言程序设计实验学生用.doc

    c语言程序设计实验学生用 C语言程序设计 实验指导 (学生用) 计算机基础教研室 <C语言程序设计>课程组 2012年9月 前 言 <C语言程序设计>是计算机科学技术系面向全校 ...

  9. 插入法排序c语言程序,C语言之插入排序算法

    一.什么是直接插入算法? 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的纪录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的纪录插入完为止,得到一个新的有序序列. 选择 ...

  10. 青花瓷音乐的单片机c语言程序,c语言曲谱_单片机c语言音乐简谱代码

    51单片机曲谱编写音乐程序,我看不懂曲谱,谁能教下我! //<世上只有妈妈好>51单片机C语言程序和音乐采灯程序 //此程序在硬件上调试通过 //本程序的单片机晶振采用11.0592MHZ ...

最新文章

  1. 汉字转拼音插件:LM-PinYin.js
  2. a9 pro android 7,惊艳 | 全球最具性价比双摄手机,Blackview A9 Pro
  3. 开发管理 (3) -项目启动会议
  4. 如何处理CRM_ORGMAN 300 error message
  5. APT***实例研究与企业现有防御体系缺陷分析
  6. ArcGIS 字段计算器取前几位和替换操作
  7. 在Java中用SHA1WithRSA创建的签名如何在.NET中验证
  8. 存储服务器之间的传输速度与服务器内部读写速度_3000MB/s读写带来的PC体验升级,东芝RD500固态硬盘评测...
  9. beta分布_浅谈分布之分布(beta分布)贝叶斯分析之1 精选
  10. AI笔刷:600+专业ai笔刷套装
  11. easyexcel 导出数据锁定某个单元格
  12. STM32解析航模遥控器的PPM信号
  13. Framework 修改默认输入法
  14. html5-canvas常用的api介绍
  15. iText7 解套 (一) 原生方法输出带斜线表格
  16. deepfake ai智能换脸_AI换脸之后,智能去除马赛克视频工具被疯传,测试结果令人意外...
  17. linux 获取文件父目录权限,Linux 文件权限中,操作一个文件需要父目录的那些权限?...
  18. tkMapper插件的详细讲解
  19. 12、字符(串)输入、输出
  20. 百度地图标点鼠标样式更改

热门文章

  1. display属性详解
  2. Unity3d用脚本实现Button图片的更改
  3. 1. 物理内存初始化-linux4.0
  4. 码率、帧率和I B P帧
  5. android frida 检测_android逆向__超级好用的使用frida追踪方法
  6. 自定义进度条PictureProgressBar——从开发到开源发布全过程
  7. 厚度仅2.5毫米,重60克,英伟达斯坦福做出了超轻薄VR眼镜
  8. vue动态修改网页标题(也可用于vx里的网页标题)
  9. 国内手机市场遭遇寒风,智能手机企业激战千元机
  10. 合约战事风云 |链捕手