网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

阅读以下应用程序说明和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 k = 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;

k =(4);

}

}

}

return d;

}

main ( )

{ int i, first, second, k; /* i表示轮次 */

for ( i = 1 ; ok < 10 ; i++)

a[i].score = a[i].f = first = ball(i,1,10);

if ( first == 10)

a[i].m = 2;

a[i].n = 1;

if (first < 10 && (i <= 10 || i == 11 && ok < 10 ))

{ /* 处理第2次滚球 */

(5)= second = ball i,2,10-first);

if (first + second == 10)

a[i].m = 1;


参考答案

更多 “ 阅读以下应用程序说明和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 13struct { int n; /* 一轮内滚球次球 */int f; /* 第一次击倒柱数 */int s; /* 第一次击倒柱数 */int score; /* 本轮得分 */int total; /* 至本轮累计总分 */int m; /* 完成本轮得分计算,还需滚球次数 */} a[N];int k = 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 );elseprintf(" 输入附加的第%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;k =(4);}}}return d;}main ( ){ int i, first, second, k; /* i表示轮次 */for ( i = 1 ; ok < 10 ; i++)a[i].score = a[i].f = first = ball(i,1,10);if ( first == 10)a[i].m = 2;a[i].n = 1;if (first < 10 (i <= 10 || i == 11 ok < 10 )){ /* 处理第2次滚球 */(5)= second = ball i,2,10-first);if (first + second == 10)a[i].m = 1; ” 相关考题
考题 A刚打出一个好球,不执拍手便触及网柱,但网柱未动,X在下一板中把球打丢了_______ A.判A得分,因为X未能打出好球B.判A失分,因为不执拍手触及网柱C.判X得分,因为A的不执拍手触及网柱D.判X失分,因为只有在网柱移动才能判A失分

考题 ●试题七阅读以下说明和Java代码,将解答写入答题纸的对应栏内。【说明】下面程序的功能是找出所有三位数中,个、十、百位数字的立方和等于该数本身的三位数并显示。在程序的每条横线处填写一个适当的词或语句,使程序的功能完整。public (1) class cube_Root{public static void (2) main(String args[]){System.out.println("个、十、百位数字的立方和等于该数本身的三位数有:");for(int n=100;n1000;n++){int a,b,c;(3)b=n/10%10;(4)if( (5) )System.out.println(n);}}}

考题 请根据试题的要求,将汇编程序代码中(1)~(8)空缺处的内容填写完整。

考题 阅读以下程序说明和C++程序,将程序段中(1)~(7)空缺处的语句填写完整。[说明]使用MFC的CSocket类在两个或者多个应用程序之间建立通信。服务器应用程序先创建一个特殊的 Socket,用于监听客户应用程序的连接请求,然后再创建新的Socket来完成连接。从客户和服务器两端读取该连接,直到一个需要处理的报文到来为止。以下C++程序将封装这些功能,这样所有应用程序需要完成的只是创建一个Socket连接,然后处理到来的报文。这将包括一个新的服务器Socket类、新客户端Socket类和新的报文队列类。创建新的服务器Socket类程序的框架如下。第1个函数ListenEx()用于通知Socket开始监听客户应用程序。第2个函数OnAccept()在接收到连接请求时被调用。在其中创建新的Socket,并立刻设置它开始从客户应用程序读取报文,这些是通过调用第3个函数RecvThread()来完成的,该函数位于它自己的线程中。[C++程序][ListenEX()函数]

考题 阅读以下说明,回答问题1至问题3。[说明]某公司总部和3个子公司分别位于4处,网络结构如下图所示,公司总部和各子公司所需主机数如下表所示。该公司用一个C类地址块202.119.110.0/24组网,将下表中的(1)~(6)处空缺的主机地址或子网掩码填写在答题纸的相应位置。

考题 请仔细阅读以下关于某传输系统的技术说明、状态转换图及Java程序,根据要求回答问题1~问题2。[说明]传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening(正在打开)、 StayOpen(保持打开)和Closing(正在关闭)5种状态。触发状态的转换事件有click、complete和timeout3种。事件与其相应的状态转换如图7-16所示。下面的[Java代码1]与[Java代码2]分别用两种不同的设计思路对传输门进行状态模拟,请填补代码段中的空缺语句。[Java代码1]请将以上[Java代码1]与[Java代码2]程序段中,(1)~(7)空缺处的语句填写完整。

考题 阅读以下应用程序说明和C程序,将C程序段中(1)~(7)空缺处的语句填写完整。[说明]以下[C程序]完成从指定数据文件中读入职工的工号和他完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,最后按表5-22所示的格式输出职工完成产品数量的名次(ORDER)。该名次是按每位职工完成的产品数量(QUANTITY)排序,之后同一名次的职工人数(COUNT)和他们的职工号(NUMBER,同一名次的职工号以从小到大的顺序输出)。以下[C程序]采用链表结构存储有关信息,链表中的每个表元对应一位职工。在数据输入同时,形成一个有序链表(按完成的产品数量和工号排序)。当一个职工有新的数据输入,在累计他的完成数量时会改变原来链表的有序性,为此应对链表进行删除、查找和插入等处理。[C程序]

考题 试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

考题 阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 ????在一块电路板的上下两端分别有n个接线柱。根据电路设计,用(i,π(i))表示将上端接线柱i与下端接线柱π(i)相连,称其为该电路板上的第i条连线。如图4-1所示的π(i)排列为{8,7,4,2,5,1,9,3,10,6}。对于任何1≤iπ(j)。 【问题1】(6分) 根据以上说明和C代码,填充C代码中的空(1)~(3)。 【问题2】(6分) ??? ????据题干说明和以上C代码,算法采用了??(4) ?算法设计策略。?????? 函数maxNum和constructSet的时间复杂度分别为??(5) ??和???(6) ?(用O表示)。? 【问题3】(3分) ??? ????若连接排列为{8,7,4,2,5,1,9,3,10,6},即如图4-1所示,则最大不相交连接数为???(7) ??,包含的连线为??(8) ??(用(i,π(i))的形式给出)。