首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下应用程序说明和C程序,将C程序段中(1)—(7)空缺处的语句填写完整。 [说明] 打保龄球是用一个滚球去打出10个站立的柱,将柱击倒。一局分10轮,每轮可滚球一次或多次,以击倒的柱数为依据计分。一局得分为10轮得分之和,而每轮的得分不
阅读以下应用程序说明和C程序,将C程序段中(1)—(7)空缺处的语句填写完整。 [说明] 打保龄球是用一个滚球去打出10个站立的柱,将柱击倒。一局分10轮,每轮可滚球一次或多次,以击倒的柱数为依据计分。一局得分为10轮得分之和,而每轮的得分不
admin
2009-02-15
69
问题
阅读以下应用程序说明和C程序,将C程序段中(1)—(7)空缺处的语句填写完整。
[说明]
打保龄球是用一个滚球去打出10个站立的柱,将柱击倒。一局分10轮,每轮可滚球一次或多次,以击倒的柱数为依据计分。一局得分为10轮得分之和,而每轮的得分不仅与本轮滚球情况有关,还可能与后续一两轮的滚球情况有关。即某轮某次滚球击倒的柱数不仅要计入本轮得分,还可能会计入前一两轮得分。具体的滚球击柱规则和计分方法如下:
1) 若某一轮的第一次滚球击倒全部10个柱,则本轮不再滚球(若是第10轮则还需另加两次滚球)。该轮得分为本次倒柱数(即10)与以后两次滚球所击倒柱数之和。
2) 若某一轮的第一次滚球未击倒10个柱,则可对剩下未倒的柱再滚球一次。如果这两次滚球击倒全部10个柱,则本轮不再滚球(若是第10轮则还需另加一次滚球),该轮得分为本次倒柱数10与以后一次滚球所击倒柱数之和。
3) 若某一轮的两次滚球未击倒全部10个柱,则本轮不再继续滚球,该轮得分为这两次滚球击倒的柱数之和。
总之,若一轮中一次滚球或两次滚球击倒10个柱,则本轮得分是本轮首次滚球开始的连续3次滚球击倒柱数之和(其中有一次或两次不是本轮滚球)。若一轮内二次滚球击倒柱数不足10个,则本轮得分即为这两次击倒柱数之和。表3-15是打保龄球计分的某个实例说明。
以下[C程序]是模拟打一局保龄球的过程,统计各轮得分和累计总分。程序交互地逐轮逐次输入一次滚球击倒的柱数,计算该轮得分和累计总分。为记录一轮内击倒10柱,但还暂不能计算该轮得分和累计总分的情况,程序引入变量ok,用来记录当前已完成完整计算的轮次。程序每输入一次滚球击倒柱数,就检查还未完成完整计算的轮次,并计算。
[C程序]
#include<stdio.h>
#define N 13
struct { int n; /* 一轮内滚球次球 */
int f; /* 第一次击倒柱数 */
int s; /* 第一次击倒柱数 */
int score; /* 本轮得分 */
int total; /* 至本轮累计总分 */
int m; /* 完成本轮得分计算,还需滚球次数 */
} a[N];
int ok = 0; /* 已完成完整计算的轮次数 */
int ball(int i, int n, int max) /* 完成一次滚球,输入正确击倒柱数 */
{ int d, j, k;
static c=1;
while (1)
{ if(i <= 10)
printf(" 输入第%d轮的第%d次滚球击倒柱数。(<=%d)\n", i, n, max );
else
printf(" 输入附加的第%d次滚球击倒柱数。(<=%d)\n", C++, max);
scanf("%d , &d);
if (d >=0 && d <= max) break;
printf(" 不合理的击倒柱数,请重新输入。\n")
)
if (ok <(1) )
{ /* 对以前未完成计算的轮次分别计算得分与累计总分*/
for(j = ok+1;(2); j++)
{ a[j].score += d;
if (--a[j].m == 0)
{ a[j].total = ( (3) ) + a[j].score;
ok =(4);
}
}
}
return d;
}
main ( )
{ int i, first, second, k; /* i表示轮次 */
for ( i = 1 ; ok < 10 ; i++)
a
.score = a
.f = first = ball(i,1,10);
if ( first == 10)
a
.m = 2;
a
.n = 1;
if (first < 10 && (i <= 10 || i == 11 && ok < 10 ))
{ /* 处理第2次滚球 */
(5)= second = ball i,2,10-first);
if (first + second == 10)
a
.m = 1;
(6);
}
if (i <= 10 && first < 10 && fist + second < 10)
{ a
.total = (i > 1 ? a[i-1].total:0) + a
.score;
(7);
}
printf( "各轮处1次得分");
for(k = 1; k <= 1; k++)
printf("%5d", a[k].f);
printf("\n 各轮第2次得分");
for(k=1; k <= i; k++)
if (a[k].n < 2)
printf(" /");
else
printf("%5d", a[k].s);
printf("\n 各轮得分");
for(k = 1; k <= ok; k++)
printf("%5d", a[k].score);
printf("\n 累计总分");
for(k = 1; k <= ok; k++)
printf("%5d", a[k].total);
printf("\n");
}
}
选项
答案
阅读题干说明和C程序可知,该程序由主函数main和函数ball组成。其中,函数ball的功能是输入每轮击倒的柱数并计算以前未完成计算的轮次的得分和累计总分。由于变量i表示轮次,而变量ok用来记录当前已完成完整计算的轮次,因此(1)空缺处所填写的内容是“i-1”。 根据C程序中的注释信息可知,(2)空缺处所在的for循环语句是计算以前未完成计算的轮次得分和累计总分,循环控制变量j的值很显然应小于i,所以(2)空缺处所填入的内容是“j<i”。 如果结构体成员m的值等于0,则本轮滚球结束,应完成本轮得分计算,同时应累计总分。结构体成员total表示总分,由于它没有赋初值,当j等于1时应等于0,因此(3)空缺处所填入的内容是“j<1? a[j-1.total:0”。计算完一轮的得分,变量ok应加1,故(4)空缺处所填写的内容是“ok+1”。 在主函数main中,(5)空缺处所在的语句为计算第2次滚球的得分,此时应加上第1次滚球的得分,因此(5)空缺处所填写的内容是“a[i].score+=a[i].s”。 如果两次滚球数等于10,则m=1,而n应加1,故(6)空缺处所填入的内容为“a[i].n++”。 (7)空缺处所在的if语句处理所给规则和记分方法的第3种情况,即本轮不再滚球,该轮得分为这两次滚球击倒的柱数之和,本次计算完毕,因此(7)空缺处所填写的内容是为“ok=i”。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/0EjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Word2003的编辑状态中,不可以插入________。
在Excel的A1单元格中输入函数“=LEFT(“信息处理技术员”,2)”,按回车键后,A1单元格中的值为()。
在Excel中,若A1单元格中的函数为"=IF("教授">"助教",TRUE,FALSE)",按回车键后,A1单元格中的显示内容为______。
某数字校园平台的系统架构包括用户层和以下四层。制作各种可视化图表的工具属于(14)________________。
在Excel2010中,C3:C7单元格中的值分别为10、OK、20、YES和48,在。D7单元格中输入函数“=COUNT(C3:C7)”,按回车键后,D7单元格中显示的值为________________。
鼠标指针的形状取决于它所在的位置以及与其他屏幕元素的相互关系。在文字处理的文本区域,指针就像(),指向当前待插入字符的位置。
某单位的统计报表比较多,采用表号(报表的编号)的好处是______。
小王在Excel中录入某企业各部门的生产经营数据,录入完成后发现报表略超一页,为在一页中完整打印,以下______做法正确。
在Excel2007中,如果在A1单元格输入“计算机”,在A2单元格输入“软件资格考试”,在A3单元格输入“=A1&A2”,按回车键后,结果为______。
Windows XP的许多应用程序的“文件”菜单中,都有“保存”和“另存为”两个命令。以下对这两个命令的叙述,正确的是(36)。
随机试题
工程量清单出现的漏项或设计变更引起的工程量增减,其相应的综合单价应由()提出。
关于如何根据社会主义法治理念完善我国宪法的权力制约原则,下列哪些选项是正确的?(2012年卷一59题,多选)
因纳税义务人违反规定造成海关监管货物少征或者漏征税款的,海关应当自纳税义务人应缴纳税款之日起3年内追征税款,并自应缴纳税款之日起至______止按日加收滞纳金。
某公司2007年10月以3500万元购得一写字楼作为办公用房使用,该写字楼原值6000万元,累计折旧3000万元。如果适用的契税税率为3%.,该公司应缴契税()万元。
()是通过建立一定指标(简称效标)来检查岗位测评结果的效度。
能对幼儿实施高素质的教育,促进幼儿活泼、主动地发展,关键在于()。
人们在看书时,用红笔画出重点便于阅读,是利用知觉的()。
有人说,凡是知识都是科学的,凡是科学都是无颜色的,并且在追求知识时,应当保持没有颜色的态度。假使这种说法不随意扩大,我也认同。但我们要知道,只要是一个活生生的人,便必然有颜色。对无颜色的知识的追求,必定潜伏着一种有颜色的力量,在后面或底层加以推动。这一推动
给定资料1.2018年5月28日晚,微信自媒体公号“视觉志”发布视频类文章《凌晨3点不回家:成年人的世界是你想不到的心酸》,引发无数青年共鸣。有舆论曾质疑,自媒体贩卖焦虑“成瘾”,哪怕是“千夫所指”之下,此类话题阅读量依旧斩获“10万+”。
增值税视同销售有哪些规定?
最新回复
(
0
)