有程序:K=0DO10I=1,6,2DO10J=1,6,3IF(

题目

有程序:K=0DO10I=1,6,2DO10J=1,6,3IF(K.LT.I*J)K=I*J10CONTINUEWRITE(*,*)KEND此程序执行后的输出结果为:()

  • A、18
  • B、30
  • C、25
  • D、36
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请阅读以下程序:includevoid fun(int s[]){static int j=0; dos[j]+=s[j+1]; while(++

请阅读以下程序: #include<stdio.h> void fun(int s[]) { static int j=0; do s[j]+=s[j+1]; while(++j<2);} main() { int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++)fun(a); for(k=0;k<5;k++)printf("%d",a[k]);} 上面程序的输出是

A.34756

B.23445

C.35745

D.12345


正确答案:C
解析:本题考查了通过数组首地址引用数组元素的方法。第一次执行fun(a)后,a[0]=3,a[1]=5。第二次执行fun(a)时,因为static变量j保存着上次执行时的值为2,所以a[2]=7,最后数组a={3,5,7,4,5},所以正确答案为C)。

第2题:

下列程序的功能是:输入l0个整数。‘Private sub Command2_Click Dim i,j,k,temp,arr(11)As Integer Dimresult As String For k=1T0 10 arr(k)=Val(InputBox( “请输入第”&k&”个数:”,”数据输入窗口”)) Next k i=1 J=10 Do Temp=arr(i) arr(i)=arr(j) arr(j)=tempi=i+1 j=__________LoopWhileresule=””For k=1 To 10 result=result&arr(k)&Chr(13)Nextk MsgBoxresult End Sub 横线处应填写的内容是( )。

A.J-i i<j

B.j+1 i<j

C.j+1 i>j

D.J-1 i>j


正确答案:A
本题中第一个循环是将输入的数放进数组中,在第二个循环中进行逆序交换,a(1)是和a(10)进行交换,所以当i=i+1时,j=j-1,当i=5,j=5时,会停止循环,所以条件必须为i<j。

第3题:

有以下程序#include <stdio.h>void fun(int s[]){ static int j=0; do s[j]+=s[j+1]; while(++j<2);}main(){ int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++) fun(a); for(k=0;k<5;k++) printf("%d",a[k]);}程序的运行结果是A.34756 B.23445C.35745 D.12345


正确答案:C
在本题中,首先定义了一个fun函数,函数中的形参是一个数组,该函数中首先定义了一个静态整型变量j并赋了初值,注意,静态变量的作用域是整个程序,而非该函数。从该函数的程序段不难看出该函数的作用是通过一个循环求形参数组中相邻两个元素(具体根据j确定)的和,并保存。
在主函数中,定义了一个数组并赋初值,然后用循环调用fun函数。
当k=1时,调用fun函数,此时刚开始j的值为0,那么fun函数分别计算数组a中的第一个元素与第二个元素的和与第二个元素与第三个元素的和,并分别保存为数组的第一个元素和第二个元素,结果分别为3和5。
当k=2时,调用fun函数,此时j的值为2,那么fun函数只计算数组a中的第三个元素与第四个元素的和,并保存为数组的第三个元素,结果为7。
循环结束,经过该层循环后,数组a中各元素的值分别为3、5、7、4、5,最后用循环输出结果为35745。因此,答案选C。

第4题:

下面的子程序求一方阵的次对角线上的元素之和。
SUBROUTINE CDJX(M,N,K)
DIMENSION M(N,50)
DO 10 J = 1,N
K=_
10 CONTINUE RETURN END
为了使程序完整,应在_处填入的是:

A.K+M(J,J)
B.K+M(J,N+1—J)
C. K+M(N+J,J)
D. K+M(N+J,N-J)

答案:B
解析:
(1)方阵是行和列数目相等的矩阵,方阵次对角线指从左下角到右上角的直线。
(2)N值是由主程序调用子例行子程序时传递过来的。
(3)子例行子程序定义的两维数组下标上界最大为50。
(4)方阵的行和列由传递过来的N值决定。
(5)可以设置N=5,有下列25个数组元素:

第5题:

以下程序的输出结果是 void fun(int*s) { static int j=0; do s[j]+=s[j+1]; while(++j<2);} main() { int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++)fun(a); for(k=0;k<5;k++)printf("%d",a[k]);}

A.34756

B.23345

C.35745

D.12345


正确答案:C
解析:本题考查了通过数组首地址引用数组元素的方法。第一次执行fun(a)后,a[0]=3,a[1]=5。第二次执行fun(a)时,因为static变量j保存着上次执行时的值为2,所以a[2]=7,最后数组a={3,5,7,4,5}。故正确答案为选项C)。

第6题:

有以下程序

#include<stdio.h>

void fun(int *s)

{ static int j=0;

do { s[j]=s[j]+s[j+1]; )while(++j<2);

}

main( )

{ int k,a[10]={1,2,3,4,5);

for(k=1;k<3;k++)fun(a);

for(k=0;k<5;k++)printf(”%d”,a[k]);

printf("\n");

}

程序运行后的输出结果是

A) 12345

B)23445

C)34756

D) 35745


正确答案:D
【答案】D
【知识点】static变量的使用
【解析】静态局部变量在函数内定义,它的生存期为整个源程序。第一次k=1调用结束后,s[0]的值为3,s[1]的值为5,j的值为2。当k=2时,继续调用函数fun,此时j的值为2,但是因为do while语句先执行后判断,所以执行了s[2]=s[2]+s[3],所以s[2]的值变成了7。循环结束回到主函数,k的值为3,不满足条件结束循环。最后打印输出a数组元素的值。

第7题:

当执行以下程序后,i的值是5,j的值是4,k的值是【 】。

int a, b, c, d, i, j, k;

a=10; b=c=d=5; i=j=k=0;

for(;a>b; ++b) i++;

while(a>++c) j++;

do {

k++;

}while(a>d++);


正确答案:6
6

第8题:

请读程序: include void fun(int * s) { static int j=0; do s[j]+=s[j+1]

请读程序: # include<stdio.h> void fun(int * s) { static int j=0; do s[j]+=s[j+1] while( + + j<2); } main( ) { int k,a[10]={l,2,3,4,5}; for(k=l;k<3;k+ +)fun(a); for(k=0;k<5;k++)prinf("%d",a[k]); } 上面程序的输出结果是 ( )

A.34756

B.23445

C.35745

D.12345


正确答案:C

第9题:

阅读FORTRAN程序:
READC*,*)I,J,K DO 10 N=l,2 I=I+J+K J=I+K+J K=I+J+K 10 CONTINUE
WRITE(*,20)I,J,K 20 FORMAT(2X,315)
END
键盘输入1,0,0则程序运行后的输出结果是:

A. 4 7 13
B.2 3 4
C. 1 1 2
D. 6 9 15

答案:A
解析:
解当N=1时,I=l+0+0==l,J=l+0+0=l,K=l+l+0=2;
当N=2时,I=l+l+2=4,J=4+2+l=7,K=4+7+2=13。
答案:A

第10题:

阅读下列FORTRAN 程序:
DIMENSION M(6)
READ(*,*)M
DO 10 J=1,6
DO 10 K=J,6
IF(M(K).LT.M(J))THEN
N=M(K)
M(K)=M(J)
M(J)=N
END IF
10 CONTINUE
WRITE(*,100)(M(I),I=1,6)
100 FORMAT(2X,614)
END
键盘输入10,7,9,2,1,3;程序运行后的输出结果是:
(A)1 2 3 7 9 10 (B)10 9 7 3 2 1
(C)7 9 2 1 3 10 (D)3 1 2 9 7 10


答案:A
解析:

更多相关问题