计算机二级

以下程序按下现指定的数据给x数组的下三角置数,并按如下形式输出,请填空。43 72 6 91 5 8 10include <stdio.h>main(){ int x[4][4],n=0,i,j;for(j=0;j<4;j++)for(i=3;i>j;【 】) {n++;x[i][j]=【 】:}for(i=0;i<4;i++){ for(j=0;j<=i;j++) printf("%3d",x[i][j]);printf("\n");}}

题目

以下程序按下现指定的数据给x数组的下三角置数,并按如下形式输出,请填空。

4

3 7

2 6 9

1 5 8 10

include <stdio.h>

main()

{ int x[4][4],n=0,i,j;

for(j=0;j<4;j++)

for(i=3;i>j;【 】) {n++;x[i][j]=【 】:}

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

{ for(j=0;j<=i;j++) printf("%3d",x[i][j]);

printf("\n");

}

}

参考答案和解析
正确答案:i- n
i- n 解析:观察本题下三角数据可以发现,其数值是先按行(从第3行到第0行),然后按列(从第0列到第3列)对其进行1到10的赋值的,在程序的第—组嵌套for循环中,通过外循环来控制列的变化,从第0列到第3列,通过内循环来控制行的变化,从第3行到第j行,由于行变量i是从最大行逐渐递减的,所以本题第一空应填i-或与其等效的形式。在循环体中,用变量n来控制被赋的值1到10,所以本题第二个空应填n。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

【填空题】下面程序以每行4个数的形式输出a数组,请分析程序填空。 #define N 20 main() { int a[N],i; for(i=0;i<N;i++) scanf("%d",【1】); for(i=0;i<N;i++) { if(【2】) 【3】; printf("%3d",a[i]); } }


1&a[i] 2(i+1)%4==0

第2题:

请使用两个do...while 循环生成九九乘法表,按矩阵下三角的形式输出乘法表。 输出要求:每个数输出占3个位宽 下三角形式 1* 1= 1 2* 1= 2 2* 2= 4 3* 1= 3 3* 2= 6 3* 3= 9 ...


do...while

第3题:

【填空题】以下程序实现输出x,y,z三个数中的最大者。请分析程序填空。 main() {intx=4,y=6,z=7;; int; if()u=x; elseu=y; if(else v=z; printf("v=%d",v); }


Console.Write("请输入x=");
x = double.Parse(Console.ReadLine());
Console.Write("请输入y=");
y = double.Parse(Console.ReadLine());
Console.Write("请输入z=");
z = double.Parse(Console.ReadLine());
double zhong;
if(x<y&&x<z)
{
if (y < z) { }
else
{
zhong = y; y = z; z = zhong;
}
}
else if (y < x && y < z)
{
zhong = x; x = y; y = zhong;//x<y&&x<z
if (y < z) { }
else
{
zhong = y; y = z; z = zhong;
}
}
else //z最小
{
zhong = x; x = z; z = zhong;//x<y&&x<z
if (y < z) { }
else
{
zhong = y; y = z; z = zhong;
}
}
Console.WriteLine(x);
Console.WriteLine(y);
Console.WriteLine(z);

第4题:

以下程序段按以下形式输出数组num右上半三角的数据,请在下划线处填空。 1 2 3 4 6 7 8 11 12 16 #define N 4 int num[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<N;i++) { for(j=0; j<i ;j++) printf("%3c",' '); for((1) ;j<N;j++) printf("%3d",num[i][j]); printf("n"); }


B本题中要求输出右上半角的数,对角线上的数的下标相同,所以j=i。

第5题:

以下程序段给数组A的所有元素输入数据,请填空。 include void main () {int a[10],

以下程序段给数组A的所有元素输入数据,请填空。

include<iostream. h>

void main () {

int a[10], i;

i=0;

while (i<10) cin>> 【 】

}


正确答案:a[i++]
a[i++]

第6题:

下列程序的功能是输出如下数列的前20项,按每行5个数的形式输出。

1,1,2,3,5,8,13,…

程序代码如下,请填空。

A=1

B=1

I=3

?A,B

DO WHILE( _______ )

C=A+B

T=B

B=A+B

_______

?? C

If _______ Then

?

EndIf

I=I+1

ENDDO


正确答案:I=20 I=20 I%5=0
I=20 I=20 I%5=0 解析:通过分析可知,该数列从第3项开始,每一项的值是前面两项的值的和。一共要求前面的20项,因此可通过一个循环来实现,由于只求前20项,故循环条件应是I(项数)的值小于等于20。在循环中应求出第1项(C=A+B),并为求I+1项作好准备,即要让刚才的B成为下一个A,刚才的C成为下一个B,故[10]处应填“A=T”。“??”命令在输出数据的时候不换行,为了在每输出5个数据后分行,可根据项数I的值来进行控制,当I的值能够被5整除时,换到下一行进行输出,换到下一行用命令“?”来实现,故(11)处应填“I%5=0”。

第7题:

以下程序的功能是输出如下形式的方阵:

13 14 15 16

9 10 11 12

5 6 7 8

1 2 3 4

请填空。

main()

{ int i,i,x;

for(j=4; j______; j--)

{ for(i=1; i<4; i++)

{ x=(j-1)*4+______;

printf("%4d",x);

}

printf("\n");

}


正确答案:i
i 解析:本题使用了一个两重for循环输出如题所示的方阵。从外层for循环的最后一条语句prinff("\n");可以看出,外层for循环每次输出方阵的一行,由于方阵是4行所以外层循环会循环4次,又从j=4和卜可以看出这4次循环,循环变量i的值分别为4、3、2、1.故前一空应该填j>=1或者 j>0,以保证j等于0时循环结束。内层循环控制每行输出的4个数,其循环变量i从1递增到4,由于每行的4个结果也是差1递增的,所以将每次结果减去循环变量i的值为一个常数,每行分别是12、8、 4、0,而这些值正好与4次外循环中表达式(j-1)*4的值相吻合,故后一空应该填i。

第8题:

以下程序的功能是输出如下形式的方阵:

13 14 15 16

9 10 11 12

5 6 7 8

1 2 3 4

请填空。

include <stdio.h>

main( )

{ int i,j,x;

for(j =4;j 【 】;j--)

{ for(i = 1 ;i<=4;i++)

[ x=(j-1) *4+【 】;

printf( "%4d" ,x);

}

printf(" \n" );

}


正确答案:>=1或>0 i
>=1或>0 i 解析:程序的外层for循环控制输出数据的行数,故第一处填“>=1”或“>0”;内层循环控制每行输出的个数。在内层for循环中,语句x=(j-1)*4+______;用于控制输出方阵中的具体数据,由于这些数据与其所在的行、列(j,i)具有x=(j-1)*4+i的关系,故第二处填i。

第9题:

以下程序按下面指定的数据给 x 数组的下三角置数,并按如下形式输出,请填空。

4

3 7

2 6 9

1 5 8 10

#include <stdio.h>

main()

{ int x[4][4],n=0,i,j;

for(j=0;j<4;j++)

for(i=3;i>=j; 【 12 】 ) {n++;x[i][j]= 【 13 】 ; }

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

{ for(j=0;j<=i;j++) printf("%3d",x[i][j]);

printf("\n");

}

}


正确答案: