CCF ( CSP-J/S ) 模拟题改错(阅读程序题)

C C F ( C S P − J / S ) CCF ( CSP-J/S ) CCF(CSPJ/S) 模拟题改错(阅读程序题)

  • 1.阅读以下程序,完成下列各题:
    #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;
    }
    
    若输入 2 2 2,则输出( \hspace{ 0.5cm }
    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的情况。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值