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

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

阅读下列程序说明和C代码,填入(n)处。

【说明】

幼儿园有n(<20)个孩子围成一圈分糖果。老师先随机地发给每个孩子若干颗糖果,

然后按以下规则调整:每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友。如共有8个孩子,则第1个将原有的一半分给第2个,第2个将原有的一半分给第3个,……,第8个将原有的一半分给第1个,这样的平分动作同时进行。若平分前,某个孩子手中的糖果是奇数颗,则必须从老师那里要一颗,使他的糖果数变成偶数。小孩人数和每个小孩的初始糖果数由键盘输入。下面的程序可求出经过多少次上述这样的调整,使每个孩子手中的糖果—样多,调整结束时每个孩子有糖果多少颗,在调整过程中老师又新增发了多少颗糖果。

【程序】

include <stdio.h>

define N 20

int allEqual (int a[ ],int n) /*检查每个孩子手中的糖果是否一样多*/

{ iht i;

for(i=1; i<n; i++)

if(a[O]!=a[i]) return O;

return 1;

}

int a[N], b[N];

void main ( )

{ int i, n, addk, loopc;

printf("Enter n((20)\n"); scanf("%d", &n);

printf ("Enter data\n");

for( i=O; i(n; i++) scanf("%d", &a[i]);

addk=O;(1);

while (2){ /*平分循环*/

loopc++;

for ( i=O; i ( n; i++){ /*为一次调整作准备*/

if(a[i]%2) { a[i]++;(3); }

if (i<n-1) b[i+1]=a[i]/2; else(4)

a[i]/=2;

}

for(i=O; i<n; i++)(5); /*完成一次调整*/

}

printf("调整%d次\n", loopc); printf("每个孩子有%d颗糖果\n", a[0]);

printf("调整过程中新增发%d颗糖果。\n", addk); }


参考答案

更多 “ 阅读下列程序说明和C代码,填入(n)处。【说明】幼儿园有n(20)个孩子围成一圈分糖果。老师先随机地发给每个孩子若干颗糖果,然后按以下规则调整:每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友。如共有8个孩子,则第1个将原有的一半分给第2个,第2个将原有的一半分给第3个,……,第8个将原有的一半分给第1个,这样的平分动作同时进行。若平分前,某个孩子手中的糖果是奇数颗,则必须从老师那里要一颗,使他的糖果数变成偶数。小孩人数和每个小孩的初始糖果数由键盘输入。下面的程序可求出经过多少次上述这样的调整,使每个孩子手中的糖果—样多,调整结束时每个孩子有糖果多少颗,在调整过程中老师又新增发了多少颗糖果。【程序】include stdio.h>define N 20int allEqual (int a[ ],int n) /*检查每个孩子手中的糖果是否一样多*/{ iht i;for(i=1; i<n; i++)if(a[O]!=a[i]) return O;return 1;}int a[N], b[N];void main ( ){ int i, n, addk, loopc;printf("Enter n((20)\n"); scanf("%d", n);printf ("Enter data\n");for( i=O; i(n; i++) scanf("%d", a[i]);addk=O;(1);while (2){ /*平分循环*/loopc++;for ( i=O; i ( n; i++){ /*为一次调整作准备*/if(a[i]%2) { a[i]++;(3); }if (i<n-1) b[i+1]=a[i]/2; else(4)a[i]/=2;}for(i=O; i<n; i++)(5); /*完成一次调整*/}printf("调整%d次\n", loopc); printf("每个孩子有%d颗糖果\n", a[0]);printf("调整过程中新增发%d颗糖果。\n", addk); } ” 相关考题
考题 阅读以下应用说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明8.1】以下程序的功能是:生成20个200~300之间的随机整数,输出其中能被5整除的数并求出它们的和。【程序代码8.1】Private Sub Command1_Click()For i=1 To 20x=Int((1)*200+100)If (2)=0 ThenPrint xS=S+ (3)End IfNext iPrint"Sum=";SEnd Sub【说明8.2】程序8.2运行后,单击窗体,则在窗体上显示的内容是:a=(4)和b=(5)。【程序代码8.2】Private Sub Form_Click()Dim a As Integer,b As Integera=20:b=50p1 a,bp2 a,bp3 a,bPrint"a=";a,"b=";bEnd SubSub p1(x As Integer, ByValy As Integer)x=x+l0y=y+20End SubSub p2(ByVal×As Integer, y As Integer)x=x+l0y=y+20End SubSub p3(ByVal×As Integer, ByVal y As Integer)x=x+10y=y+20End Sub

考题 ●试题二阅读下列程序或函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【函数2.1说明】函数strcmp()是比较两个字符串s和t的大小。若s<t函数返回负数;若s=t函数返回0;若s>t,函数返回正数。【函数2.1】int strcmp(char *s,char *t){ while(*s *t (1) ){s++;t++;}return (2) ;}【程序2.2说明】在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个。【程序2.2】#includestdio.h#define N 100int a[N][N];void main(){ int row ,col,max,min,n;/*输入合法n(<100),和输入n×n个整数到数组a的代码略*/for (row=0;row<n;row++){for(max=a[row][0],col=1;col<n;col++)if( (3) )max=a[row][col];if( (4) )min=max;else if( (5) )min=max;}printf ("The min of max numbers is %d\n",min);}

考题 阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。【说明】阅读下面几段C++程序回答相应问题。比较下面两段程序的优缺点。①for (i=0; i<N; i++ ){if (condition)//DoSomething…else//DoOtherthing…}②if (condition) {for (i =0; i<N; i++ )//DoSomething}else {for (i=0; i <N; i++ )//DoOtherthing…}

考题 阅读下列函数说明和C代码及流程图,将应填入(n)处的字句写在对应栏内[说明]分糖果问题是一个经典问题。问题描述如下:幼儿国有n(<20)个孩子围成一圈分糖果,老师先随机地发给每个孩子若干颗糖果,然后按以下规则调整:每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友;如共有8个孩子,则第1个将原来的一半分给第2个,第2个将原有的一半分给第3个……第8个将原来的一半分给第1个,这样的平分动作同时进行;若平分前,某个孩子手中的糖果是奇数颗,则必须从老师那里要一颗,使他的糖果变成偶数。小孩人数和每个小孩的初始数由键盘输入。经过多少次调整,使每个孩子手中的糖果一样多,调整结束时每个孩子有糖果多少颗,在调整过程中老师又新增发了多少颗糖果。[C程序]include <stdlib.h>include <stdio.h>bool allequall (int child[], int n ) //判断各小孩子手中的糖果是否相等{for ( int i=0; i<n-1; i++)if (child[i]!=child[i+1] )return false; //不相等返回假return true; //相等返回真}const int MaxNum=20; //定义最大人数//主函数void main ( ){int Num=0;int *child;int *child1;//构造两个相应大小的数组child代表小朋友现有的粮果数child1代表小朋友原来有的糖果数int Tnum=0;int i=0;do{printf ( "Pelase input the number of the children: ").,scanf ( "%d",Num );if ( Num>MaxNum )printf ( "Error Number!!" );} while ( Num>MaxNum );child=new int [Nmn];child1=new int [Num];for ( i=0; i<Num; i++ ) //将数组赋值{printf ( "Input NO. %d child's candy numbers: ",i+1);scanf ( "%d", child[i] );}while ( (1) ){for (i=0; i<Num; i++ ){if( (2) ){(3)Tnum++;}}for ( i=0; i<Num; i++ )child1[i]=child[i]; //将child1赋值用来记忆原来小朋友的粮果数for ( i=0; i<Nam; i++ )(4)for (i=0; i<Num-1; i++)//用循环实现前一个小朋友粮果数加后一个小朋友粮果数的一半{child[i]/=2;child[i]+=child 1 [i+1];}child[Num-1]/=2;(5)}printf ( "每个同学最后分到糖果数目是%d\n", child[1]);printf ( "老师分发出的糖果是%d\n", Tnum );}图12-7是一种解决问题的流程图,请根据该流程图将对应C代码(n)处补充完整。

考题 阅读以下说明和流程图,回答问题,并将解答填入对应栏内。【说明】求解约瑟夫环问题。算法分析:n个士兵围成一圈,给他们依次编号,班长指定从第w个士兵开始报数,报到第s个士兵出列,依次重复下去,直至所有士兵都出列。【流程图】【问题】将流程图中的(1)~(5)处补充完整。

考题 ●试题二阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】该程序运行后,输出下面的数字金字塔【程序】includestdio.hmain (){char max,next;int i;for(max=′1′;max=′9′;max++){for(i=1;i=20- (1) ;++i)printf(" ");for(next= (2) ;next= (3) ;next++)printf("%c",next);for(next= (4) ;next= (5) ;next--)printf("%c",next);printf("\n");}}

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

考题 ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]有一个一维数组cj,内放20个学生成绩,求平均成绩。函数ave用来求20个学生的平均成绩。[C语言函数]float ave(float a[20]){ int i;float aver,sum= (1) ;for(i=1;i20;i++) sum= (2) ;aver= (3) ;return( (4) );}main(){ float cj[20],aver;int i;printf(“input 20 cj:\n”);for(i=0;i20;i++) scanf(“%f”,cj[i]);printf(“\n”);aver= (5) ;printf(“average cj is %6.2f”,aver);}

考题 阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。 【说明】 某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种 类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。