开门(kāimén),快(kuài)开门(kāimén)。____

题目
填空题
开门(kāimén),快(kuài)开门(kāimén)。____
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

试题二

下面程序中函数fun的功能是:在含有10 个元素的s数组中查找最大数,及最大数所在位置(即,下标值),最大数可能不止一个。最大数作为函数值返回,最大数的个数通过指针变量n传回,所在位置由数组pos传回。

例如:

若输入 2 8 5 7 8 4 5 3 2 8

则应输出:

The max: 8

Total: 3 //最大数出现次数

The positions: 1 4 9

请补充下列空缺:

include<stdio.h>

include<conio.h>

define M 10

int fun(int *a, int *n, int pos[])

{int i, k,max=-32767;

(1)

for(i=0; i<M; i++)

if( (2) ) max=a[i];

for(i=0; i<M; i++)

if( (3) )pos[k++]=i;

*n=k;

return max;

}

main()

{int a[M], pos[M], i=0, j, n;

clrscr();

printf("Enter 10 number :");

for(i=0; i<M; i++)scanf("%d", (4));

j=fun( (5) );

printf("The max: %d\n", j);

printf("Total: %d",n);

printf("The position:");

for(i=0; i<n; i++ ) printf("%4d", pos[i]);

printf("\n");

}


正确答案:

试题分析:

正确代码:

#include<stdio.h>

#include<conio.h>

#define M 10

int fun(int *a, int *n, int pos[])

{int i, k, max=-32767;

k=0;//因为后面有k++,所以要在这里先给k赋初值。

for(i=0; i<M; i++)

if(a[i]>max) max=a[i];//用于求出数列中的最大数。

for(i=0; i<M; i++)

if(a[i]== max) pos[k++]=i;//用于记录最大数的下标

*n=k;

return max;

}

main()

{int a[M], pos[M], i=0, j, n;

clrscr();

printf("Enter 10 number :");

for(i=0; i<M; i++)scanf("%d", a+i);

j=fun(a, &n, pos);

printf("The max: %d\n", j);

printf("Total: %d\n",n);

printf("The position:");

for(i=0; i<n; i++ ) printf("%4d", pos[i]);

printf("\n");

}

此程序算法非常简单,先循环找出最大数,再循环找出最大数的下标。但要注意的是一些细节方面的问题,如在形参中int *a 和int pos[]两种写法都可以用来传递数组名。由于形参有:int *n ,所以对应实参应为指针,所以只能写&n不能用n。

参考答案:

(1) k=0

(2) a[i]>max

(3) a[i] == max

(4) a+i 或 &a[i]

(5) a, &n, pos



第2题:

分析下列程序,其最终执行结果是______。 main() { int n[3],i,j,k; for(i=0;i<3;i++)n[i]=O; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1; printf("%d\n",n[0]); }

A.-2

B.-1

C.0

D.-3


正确答案:D
解析:当i为0,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[0]-1, n[0]值变为-1:在j为1时,执行n[j]=n[i]-1;,即n[1]=n[0]-1,将-2赋给n[1]。当i为1时,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[1]-1,n[0]值变为-3;在j为1时,执行n[j]=n[i]-1;,即n[1]=n[1]-1,将-3赋给n[1];最后n[0]和n[1]的值均为-3。

第3题:

●试题四

【说明】

下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。

例如:若输入

2857848328

则应输出

The max:8

Total:4∥最大数出现次数

The positions:1469

【函数】

#include<stdio.h>

#define M 10

int fun(int*a,int*n,int pos[])

{

int i,k max=-32767;

(1)

for(i=0;i<M;i++)

if( (2) )max=a[i];

for(i=0;i<M;i++)

if( (3) )pos[k++]=i;

*n=k;

return max;

}

main()

{

int a[M],pos[M],i=0,j,n;

printf("Enter 10 number:");

for(i=0;i<M;i++)scanf("%d", (4) );

j=fun( (5) );

printf("The max:%d\n",j);

printf("Total:%d",n);

printf("The position:");

for(i=0;i<n;i++)printf("%4d",pos[i]);

printf("\n");

}


正确答案:

●试题四

【答案】(1)k=0(2)ai>max(3)ai=max(4)a+i或&ai(5)a&npos

【解析】先分析(4)(5)空。(4)空所在语句是从键盘中读入数据并存放在数组a[]之中,循环变量为I(4)空处应填写存放地址,循环变量有两种表示方法,一种是"a+i",另一种是"&ai"。(5)空处需要填写调用函数fun()的实参,从函数fun()的形参可以看出,第1个参数是要处理的数组a[],第2个参数要返回的最大元素的个数n,第3个参数最大元素的下标数组pos[]。因此(5)空处应填写"a&npos"。

再来分析(1)(3)空。(1)(3)空所在函数是找最大数,并将其下标存放在数组pos[]中,其实现的思路是先遍历一次数组,从数组中找出最大数max,再将遍历一次数组,依次将这些最大数的下标存放在数组pos[]中。(2)空所在的循环就是找最大数max,因此(2)空处应填写"ai>max"。(3)空所在的循环是将这些最大数的下标存放在数组pos[]中,因此(3)空处应填写"ai==max"。(1)空应填写什么呢?从语句"posk++]=i"和"*n=k"可知,变量k是用来指出当前要存放在数组pos[]中的位置,但这个变量要进行初始化,因此(1)空处应填写"k=0"。

 

第4题:

判断题
听(tīng)妹妹(mèimèi)说(shuō)北京(běijīng)下雪(xiàxuě)了(le),我(wǒ)最(zuì)喜欢(xǐhuān)雪(xuě),真(zhēn)希望(xīwàng)现在(xiànzài)能(néng)。坐飞机(zuòfēijī)过去(guòqù)和(hé)你(nǐ)一起(yìqǐ)看(kàn)雪(xuě)。★我(wǒ)买(mǎi)了(le)一(yī)张飞(zhāngfēi)机票(jīpiào)去(qù)北京(běijīng)看(kàn)雪(xuě)。(  )
A

B


正确答案:
解析: 暂无解析

第5题:

假定输入28,那么程序运行的结果是【】。 include void main() {int n,i,k=0;cout<<“请

假定输入28,那么程序运行的结果是【 】。

include<iostream.h>

void main() {

int n, i,k=0;

cout<<“请输入整数”;

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

if(n%i= =0) k=k+i;

if(n= =k)cout<<n<<“是完数\n”;

else cout<<n<<“不是完数\n”;

}


正确答案:请输入整数: 28 28是完数
请输入整数: 28 28是完数

第6题:

已知有一维数组A[0...m*n-1],若要对应为m行、n列的矩阵,则下面的对应关系______可将元素A[k](0≤k<m*n)表示成矩阵的第i行、第j列的元素(0≤i<m,0≤j<n)。

A.i=k/n,j=k%m

B.i=k/m,j=k%m

C.i=k/n,j=k%n

D.i=k/m,j=k%n


正确答案:C
解析:本题其实是求一个一维数组A[m*n)向二维数组B[m][n]的转化问题。最原始的方法就是把A数组的前n个元素放到B数组的第一行中,A数组的第n个元素放到B数组的第二行中,依次类推,A数组的最后n个元素放到B数组的最后一行中。
  要求A[k]在B数组中的位置,首先确定A[k]处在哪一行,根据上面的存放方法,显然,应该是k/n行。然后再确定处在k/n行的哪一列,显然是k%n。

第7题:

请读程序: include main( ) { int n[2],i,j,k; { for(i=0,i<2;i + + )n[i]=0;

请读程序: # include<srdio.h> main( ) { int n[2],i,j,k; { for(i=0,i<2;i + + )n[i]=0; k=2; for(i=0;i<k;i+ +) {for(j=0;j<k;j+ +)n[j]=n[i]+l; print{("%d\n",n[k]); } 上面程序片段输出结果是 ( )

A.不确定的值

B.3

C.23

D.1


正确答案:A

第8题:

读拼音写词语Pái huái

2、读拼音写词语。(8分)

Pái huái   wǔ rǔ miǎo shì  duàn liàn

(   )          (   ) (   )            (  )

dù jì   kāng kǎi   téng xiě   kuí wǔ

(  )        (  )       (  )         (  )


答案:徘徊 侮辱 藐视 锻炼 妒忌 慷慨 誊写 魁梧

第9题:

已知有一维数组A(0..m*n-1],若要对应为m行、n列的矩阵,则下面的对应关系(4)可将元素A[k](0≤k<m*n)表示成矩阵的第i行、第j列的元素(0≤i<m,0≤j<n)。

A.i=k/n,j=k%m

B.i=k/m,j=K%m

C.i=k/n,j=k%n

D.i=k/m,j=k%n


正确答案:C
解析:此题是求一维数组向二维数组转化的问题。最原始的方法就是把数组A的前n个元素放到数组B的第一行,数组A的第n个元素放到数组B的第二行中,依次类推,数组A的最后n个元素放到数组B的最后一行中。求且[幻在数组B中的位置,应先确定A[k]处在哪一行,显然应该是k/n行,然后再确定处在k/n行的哪一列,显然是k%n列。

第10题:

单选题
女(nǚ):别看(biékàn)电视(diànshì)了(le),快(kuài)来(lái)吃饭(chīfàn)吧(bɑ)。男(nán):知道(zhīdào)了(le),我(wǒ)看(kàn)看(kɑn)天气(tiānqì)怎(zěn)么(me)样(yàng)。问(wèn):男(nán)的(de)想(xiǎng)看(kàn)什(shén)么(me)?
A

天气预报(tiānqìyùbào)

B

电影(diànyǐng)

C

话剧(huàjù)


正确答案: C
解析: 暂无解析

更多相关问题