阅读下列程序  INTEGER A(100),G  READ(*,*)N,(A(I),I=1,N)  DO 10 I=1

题目
单选题
阅读下列程序  INTEGER A(100),G  READ(*,*)N,(A(I),I=1,N)  DO 10 I=1,N-1  G=I  DO 20 J=I+1,N  IF(A(J).LT.A(G))THEN  G=J  ENDIF  20 CONTINUE  K=A(I)  A(I)=A(G)  A(G)=K  10 CONTINUE  WRITE(*,’(1X,10I2)’)(A(I),I=1,N)  END  程序运行时输入的初始值是3,6,9,8,则运行结果是()
A

 6  9  8

B

 8  9  6

C

 6  8  9

D

 9  8  6

参考答案和解析
正确答案: C
解析: 暂无解析
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

(12)下列程序段的运行结果是 Sub sele() Dim n As Integer I=21:n=3 Do While i>n I=i-n Loop Print i End SubA.2 B.4 C.5 D.3


正确答案:D
【解析】该程序段的执行是:第1次循环后:i=i-n=18;第2次循环后:i=i-n=15;第3次循环后:i=i-n=12;第4次循环后:i=i-n=9;第5次循环后:i=i-n=6;第6次循环后:i=i-n=3;此时循环条件不成立,退出循环。

第2题:

下列程序用来计算1+2+…n,当和大于100时停止计算,请填空。

Private Sub Form_Click()

Dim n as integer,s as integer,I as integer,k as integer

s=0

k=0

n=inputbox(″请输入n的值)

For i=1 to 100

k=k+1

s=s+I

【 】

Next i

Print s

End Sub


正确答案:if s>100 then exit for
if s>100 then exit for 解析:依题意,用变量S来记录1到n的累加和,当累加和S大于100时停止计算,故加入退出循环条件"if s>100 then exit for"

第3题:

在窗体上画一个命令按钮,然后编写如下事件过程:

Sub BTC(oldCopy() As Integer, newCopy() As Integer)

Dim i As Integer

For i=LBound(oldCopy() ) To UBound(oldCopy() )

newCopy(i) =oldCopy(i)

Next i

End Sub

Private Sub Command1_Click()

Dim m(10) As Integer, n(10) As Integer

For i=1 To 10

m(i) =i  i

Next i

Call BTC(m, n)

Print n(5)

End Sub

程序运行后,单击命令按钮输出结果为( )。

A.0

B.2

C.10

D.25


正确答案:D

第4题:

以下能够正确计算n!的程序是

A.Private Sub Command1 Click() n=5:x=1 Do x=x * I I=I + 1 Loop While I < n Print x End Sub

B.Private Sub Command1_Click() n=5:X=1:I=1 Do X=X*I I=I + 1 Loop While I <n Print x End Sub

C.Private Sub Command1_Click() n=5:X=1:I=1 Do X=X * I I=I + 1 Loop While I<=n Print X End Sub

D.Private Sub Command1_Click() n=5:X=1:I=1 Do x=x * I I=I + 1 Loop While I>n Print X End Sub


正确答案:C
解析:n!=1×2×3×…×(n-1)×n,由于是累乘,因此x和i的初值都必须为1;其次就是循环执行条件的确定,由于使用的是While型循环,表示在满足条件时执行循环体中的代码,这里满足执行循环的条件应该是i=n。

第5题:

阅读以下程序,此程序的功能是【】。 include void main() { intn, i, j; for(i=100;i<9

阅读以下程序,此程序的功能是【 】。

include<iostream.h>

void main()

{

int n, i, j;

for(i=100;i<999; i+100)

for(j=i/100:j<=99;j=j+10)

{

n=i+j;

cout<<" "<<n;

}

cout<<"\n";

}


正确答案:求100到999的回文数
求100到999的回文数

第6题:

(11)下列程序用于在带垂直滚动条的文本框Text1中输出3到100之间的全部素数。请填空。 Private Sub Command1_Click() Text1.Text="" For n=3 To 100 k=Int(Sqr(n)) i=2 Flag=0 Do While i<= And Flag=0 If n Mod i=0 Then Flag=1 Else i=i+1 End If Loop If Then Text1.Text=Text1.Text&Str(n)&Chr(13)&Chr(10) End If Next n End Sub


正确答案:k、Flag=0
【解析】判断一个数是不是素数,其算法是:从2开始到该数的平方根的下限(即为题中k的值)去除这个数,如果没有可以整除的数则说明该数是个素数。本题中设置了一个标志变量Flag,默认值为0,如果在整除的循环中,检查出该数不是素数,则设置Flag为1,也就是循环后Flag为0的数表示该数是素数,并把它显示在Text1文本框。

第7题:

阅读下列程序: Function func(n As Integer)As Integer Sum = 0 For i = 1 To n Sum = Sum + (i + 1)* i Next i func = Sum End Function.Private Sub Command1_Click () Dim a As Integer a= 5 s = func (A)Print s End Sub 程序运行后,单击命令按钮,输出的结果为

A.80

B.60

C.70

D.15


正确答案:C
解析:本题调用一个Function过程func,该过程只有一个参数,类型为整型,返回值也为整型。过程的调用十分简单,关键是要搞清楚过程func的功能。从For-Next循环可以看出,该过程的功能是:1×2+2×3+3×4+…+(n+1)×n。在调用过程时,实参a的值为5,即上式中的n=5。因此返回的值为:1×2+2×3+3×4+4×5+5×6=70。

第8题:

以下程序的输出结果是 ______。 Dim n(2,2), i, j As Integer For i = 0 To 2 For j = 0 To 2 n(i,j) = i + j Next j Next i For i = 0 To 1 For j = 0 To 1 n(i+ 1 ,j + 1) = n(i + 1,j + 1) + n(i, j) Next j Next i Print n(i, j)

A.14

B.0

C.6

D.值不确定


正确答案:C
解析:首先确定最后输出的元素是n(2,2),因为第2个循环结束后,循环变量i和j都等于2。在第1个循环中,对n的元素赋值为0、1、2、1、2、3、2、3、4。在第2个循环中,对n(2,2)的值进行了修改,使得n(2,2)= n(1+l,1+1),然后再通过n(1+1,1+1)+=n(1,1),使得n(2,2)=n(2,2)+n(1,1)=4+2=6。

第9题:

以下能够正确计算n!的程序是

A.Private Sub Command1_Chck( ) n=5:x=1 Do x=x*i i=i+1 Loop While i<n Print x End Sub

B.Private Sub Command1_Click( ) n=5:x=1:i=l Do x=x*i i=i+1 Loop While i<n Print x End Sub

C.Private Sub Command1_Click( ) n=5:x=1:i=l Do x=x*i i=i+1 Loop While i<=n Print x End Sub

D.Private Sub Command1_Click( ) n=5:x=1:i=l Dox=x*i i=i+1 Loop While i>n Print x End Sub


正确答案:C
解析:A中i一开始末被赋值,默认为0;B项中由于“in”的条件使得Do循环比应有循环次数少循环一次;选项D由于“i>n”这一条件,使得控制语句只能循环一次。

第10题:

在窗体上画一个名称为Command1的命令按钮,然后编写下列程序:

Option Base_1

Private Sub Command1_Click()

Dim a(10)As Integer

For i=1 To 10

a(i)=i

Next

Call swap(【 】)

For i=1 To 10

Print a(i);

Next

End Sub

Sub swap(b()As Integer)

n=【 】

For i=1 To n/2

t=b(i)

b(i)=b(n)

b(n)=t

【 】

Next

End Sub

上述程序的功能是通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换, a(2)与a(9)的值互换,……,请填空。


正确答案:a Ubound(B) n=n-1
a , Ubound(B) , n=n-1 解析:第[1]空考查的考点是有关数组作为函数参数的。本题中被调函数Swap的形参为数组b,故此与之匹配的实参必须是一个不带括号的数组名,在本题中只能是数组a。第[2]空考查的考点是有关循环次数的。本题中要求数组逆置,循环次数应该是数组长度的一半。Ubound函数可以求数组的上界,由于是在被调函数中,所以数组名要使用形参数组名b。第[3]空考查的考点是有关循环中的交换问题的。本题中每次循环b(i)均要和b(n)交换,而b(i)每次循环都要发生变化,每当i加1后,对应与之交换的n应该减1才符合题意。

更多相关问题