多题目

阅读程序1

#include<iost ream>
#include<cstdio>
using namespace std;
int daytab [2][13] = {

	{0, 31, 28, 31, 30,31, 30,31, 31, 30,31, 30,31 }, 
	{0, 31, 29,31, 30,31, 30,31, 31, 30,31, 30,31 }
};
bool IsLeapYear(int year) {
	return (year % 4 ==0 && year % 100 != 0) || (year % 400 == 0);
}
int main() {
	int year, month, day;
	scanf("%d %d %d", &year, &month, &day);
	int number = 0;
	int row = IsLeapYear(year);
	for(int j = 0; j < month; ++j) {
		number += daytab[row][j];
	}
	number += day;
	printf("%d\n", number);
	return 0;
}


第1题 判断

输入的三个数中,第二个数应是 [0, 11] 上的整数,否则会出现数组越界的问题。()

A.
正确
B.
错误

第2题 判断

输入 1900 3 2 和输入 2000 3 1 ,输出结果是相同的。()

A.
正确
B.
错误

第3题 判断

将第 9 行改成 return (year - 2000) % 4 == 0 ,其他地方不做改动,对程序最终的输 出结果没有影响。()

A.
正确
B.
错误

第4题 判断

将第 9 行改成如下四行语句:

 if(year % 400 == 0) return 1; 

if(year % 100 == 0) return 0; 

if(year % 4 == 0) return 1; 

return 0; 其他地方不做改动,对程序最终的输出结果没有影响。()

A.
正确
B.
错误

第5题 单选

若输入的三个数为 1990 9 20 ,则输出为( )

A.

253

B.

263

C.

273

D.

283

第6题 单选

若输入的三个数为 2000 5 1 ,则输出为( )

A.

122

B.

123

C.

124

D.

125

发表评论

登录 后再回复