C C F ( C S P − J / S ) CCF ( CSP-J/S ) CCF(CSP−J/S) 模拟题改错(阅读程序题)
- 1.阅读以下程序,完成下列各题:
若输入 2 2 2,则输出( \hspace{ 0.5cm } )#include<bits/stdc++.h> using namespace std; int main(){ int n,i,j,x,y,nx,ny; int a[40][40]; for(i=0;i<40;i++) for(j=0;j<40;j++) a[i][j]=0; cin>>n; y=0; x=n-1; n=2*n-1; for(i=1;i<=n*n;i++){ a[x][y]=i; nx=(x+1)%n; ny=(y-1+n)%n; if((y==0&&x==n-1)||(a[nx][ny]!=0)){ y++; } else { y=ny; x=nx; } } for(j=0;j<n;j++){ cout<<a[0][j]; } cout<<endl; return 0; }
A . A. A. 8 6 1 8\hspace{ 0.2cm }6\hspace{ 0.2cm }1 861 \hspace{ 0.5cm } B . B. B. 8 1 6 8\hspace{ 0.2cm }1\hspace{ 0.2cm }6 816
C . C. C. 6 1 8 6\hspace{ 0.2cm }1\hspace{ 0.2cm }8 618 \hspace{ 0.5cm } D . D. D. 1 8 6 1\hspace{ 0.2cm }8\hspace{ 0.2cm }6 186
我的答案: A A A \hspace{ 0.5cm } 正确答案: B B B
解析:题目可通过模拟程序得到。 - 2. 2. 2.阅读以下程序,完成下列各题:
#include<bits/stdc++.h>
using namespace std;
bool is_prime(int num){
for(int i=2;i<=sqrt(num);i++){
if(num%i==0){
return false;
}
}
return true;
}
int main(){
int num=0;
cin>>num;
if(is_prime(num)){
cout<<"Yes";
}
else {
cout<<"No";
}
return 0;
}
1.
1.
1.若将第
7
7
7行的“<=”改成“<”,程序运行结果一定不会发生改变(
\hspace{0.5cm}
)
我的答案:
T
T
T
\hspace{ 0.5cm }
正确答案:
F
F
F
解析:举出反例
9
9
9。
2.
2.
2.若输出的
n
u
m
num
num为
20
20
20以内的正整数,则输出
"
Y
E
S
"
"YES"
"YES"的可能性为(
\hspace{0.5cm}
)
A
.
0.45
B
.
0.4
C
.
0.5
D
.
0.35
A.0.45\hspace{0.5cm}B.0.4\hspace{0.5cm}C.0.5\hspace{0.5cm}D.0.35
A.0.45B.0.4C.0.5D.0.35
我的答案:
B
B \hspace{ 0.5cm }
B 正确答案:
A
A
A
解析:注意
1
1
1的情况。