#6125. gesp二级真题分类十:图形打印与循环嵌套
gesp二级真题分类十:图形打印与循环嵌套
十、图形打印与循环嵌套(共10题)
题目
1. 下面代码用于输出九九乘法表,相关说法错误的是( )。
for(int Hang=1;Hang<10;Hang++){
for(int Lie=1;Lie<Hang+1;Lie++){
if(Lie*Hang>9)
printf("%d*%d=%d ",Lie,Hang,Lie*Hang);
else
printf("%d*%d=%d ",Lie,Hang,Lie*Hang);
}
printf("\n");
}
{{ select(1) }}
- 将printf("\n")移到内层循环末尾效果相同
- 将printf("\n")修改为print("%c",'\n')效果相同
- 将LieHang>9修改为LieHang>=10效果相同
- 将LieHang>9修改为HangLie>9效果相同
2. 下面代码输出图形,横线处应填入( )。
int height;
cin>>height;
for(i=0;i<height;i++){
for(j=0;j<________;j++) cout<<" ";
for(k=0;k<________;k++) cout<<"*";
cout<<endl;
}
{{ select(2) }}
- height; i
- height-1; 2*i+1
- height-i; 2*i+1
- height-i-1; 2*i+1
3. 下面代码执行后输出( )。
for(i=1;i<5;i++){
for(j=1;j<i+1;j++)
cout<<j;
cout<<endl;
}
{{ select(3) }}
- 1\n12\n123\n1234
- 1\n22\n333\n4444
- 1\n21\n321\n4321
- 4\n34\n234\n1234
4. 下面代码用于输出菱形,横线处应填入( )。
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(________) printf("#");
else printf(".");
}
printf("\n");
}
{{ select(4) }}
- abs(k-i+1)+abs(k-j+1)==k
- i==j
- i+j==n+1
- ij || i+jn+1
5. 下面代码输出如下图形,说法错误的是( )。
int line_number,now_number=0;
for(row=1;row<line_number+1;row++){
for(i=0;i<row;i++){
cout<<now_number;
now_number++;
if(now_number==10) now_number=0;
}
cout<<endl;
}
{{ select(5) }}
- 将now_number=0移到两层循环之间效果不变
- now_number++改为now_number=1+now_number效果不变
- now_number==10改为now_number>9效果不变
- cout<<endl改为cout<<"n"效果不变
6. 以下代码输出一个N行N列的矩阵,请判断其输出图形。( )
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
if(i==j) cout<<i;
else cout<<0;
}
cout<<endl;
}
{{ select(6) }}
- 对角线为1,2,...,n,其余为0
- 全0
- 全1
- 对角线为1,其余为0
7. 下面代码用于输出H字矩阵(N为奇数),横线处应填入( )。
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(j==0||j==n-1) cout<<'|';
else if(________) cout<<'-';
else cout<<'a';
}
cout<<endl;
}
{{ select(7) }}
- i0||in-1||i==n/2
- i0||in-1
- i==n/2
- j==n/2
8. 下面代码用于输出日字矩阵,说法正确的是( )。
for(i=0;i<n;i++){
for(j=0;j<n;j++){
char ch;
if(j==0||j==n-1) ch='|';
else if(i==0||i==n-1||i==n/2) ch='-';
else ch='x';
cout<<ch;
}
cout<<endl;
}
{{ select(8) }}
- 当n=5时,第一行输出"|---|"
- 当n=5时,中间一行输出"|---|"
- 当n=5时,第二行输出"|xxx|"
- 以上都对
9. 下面代码执行后输出是( )。
for(int i=0;i<5;i++){
for(int j=0;j<i;j++)
cout<<j;
cout<<endl;
}
{{ select(9) }}
- 第一行空,第二行0,第三行01,第四行012,第五行0123
- 第一行0,第二行01,第三行012,第四行0123,第五行01234
- 第一行空,第二行0,第三行01,第四行012,第五行01234
- 第一行0,第二行01,第三行012,第四行0123,第五行空
10. 下面代码输出图形,若输入5,输出为( )。
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==1 || i==n || j==1 || j==n) cout<<"*";
else cout<<" ";
}
cout<<endl;
}
{{ select(10) }}
- 空心矩形
- 实心矩形
- 十字形
- 对角线