多题目

CSPJ2019 阅读程序 

程序二

假设输入的n和m都是正整数,x和y都是在[1, n]的范围内的整数,完成下面的判断题和单选题:

#include <cstdio>
using namespace std;
int n, m;
int a[100],b[100];

int main() {
	scanf("%d%d", &n, &m);
	for (int i = 1; i <= n; ++i)
		a[i] = b[i] =	0;
	for (int i = 1; i <= m; ++i) {
		int x, y;
		scanf("%d%d",	&x,&y);
		if (a[x] < y && b[y] < x) {
			if (a[x] >	0)
				b[a[x]] = 0;
			if (b[y] >	0)
				a[b[y]] = 0;
			a[x] = y;
			b[y] = x;
		}
	}
	int ans = 0;
	for (int i = 1; i <= n; ++i) {
		if (a[i] == 0)
			++ans;
		if (b[i] == 0)
			++ans;
	}
	printf("%d\n",ans);
	return 0;
}

第1题 判断

当m>0时,输出的值一定小于2n。(   )

A.
正确
B.
错误

第2题 判断

执行完第27行的“++ans”时,ans —定是偶数。(   )

A.
正确
B.
错误

第3题 判断

a[i]和b[i]不可能同时大于0。(   )

A.
正确
B.
错误

第4题 判断

若程序执行到第13行时,x总是小于y,那么第15行不会被执行。(   )

A.
正确
B.
错误

第5题 单选

若m个x两两不同,且m个y两两不同,则输岀的值为(   )

A.

2n-2m

B.

2n+2

C.

2n-2

D.

2n

第6题 单选

若m个x两两不同,且m个y都相等,则输出的值为(   )

A.

2n-2

B.

2n

C.

2m

D.

2n-2m

发表评论

登录 后再回复