第一阶段上机考试补题报告_输出格式

 

 


R7-4 求某月的天数 (20 分)


 


输入年份year、月份month,判断该月的天数。闰年:能被4整除但不能被100整除或者能被400整除的年份是闰年。


输入格式:


测试数据有多组,处理到文件尾。对于每组测试,输入两个整数,表示年份year和月份month。


输出格式:


对于每组测试,输出对应年月的天数。


输入样例:


2020 2


2020 4


 


输出样例:


29


30


出错代码:

第一阶段上机考试补题报告_输出格式_02

 

 

出错原因及反思:


整体思路及语法未出现问题,但是对于利用while语句循环读入数据的方法理解有偏差,导致代码输入有问题。


学习理解后代码如下:

第一阶段上机考试补题报告_位运算_03

 

 

 


R7-5 位运算应用 (20 分)


 


现有96个端口状态,用3个无符号整型ua(95~64),ub(63~32),uc(31~0)组合起来的96位二进制数来表示,每位二进制数的1、0表示其正常和故障状态。


输入一个tag位,将tag位上二进制数置1.


tag位表示其在96位中所处的位数(在96位中从低向高从0至95)


输入格式:


第一行输入三个无符号整数,表示ua,ub,uc


第二行输入一个整数tag。


输出格式:


若tag值不在0到95之间,则输出Error,否则输出转换后的ua,ub,uc


输入样例:


1 2 3


-2


结尾无空行


输出样例:


Error


结尾无空行


输入样例:


1 2 3


10


结尾无空行


输出样例:


ua=1,ub=2,uc=1027


结尾无空行


 


出错原因:


因个人原因对位运算有莫名的抗拒,畏难心理。所以题目都没有看完整就直接跳到下一题了,又因为各种原因导致没时间回来看这一题。


 


调整心态做题后代码如下:

第一阶段上机考试补题报告_读入数据_04

 

 

 


反思:


不管是考试还是平时练习都应该调整好心态,不畏难,在深思熟虑之后再选择跳题。需要加强对位运算的熟练度。


 


7-6 打印沙漏 (20 分)


本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印


*****


 ***


  *


 ***


*****


所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。


给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。


输入格式:


输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。


输出格式:


首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。


输入样例:


19 *


结尾无空行


输出样例:


*****


 ***


  *


 ***


*****


2


结尾无空行


 


出错代码:


 第一阶段上机考试补题报告_位运算_05

 

 


出错原因:


做题思路不够清晰,无法确定循环条件,理不清题目所要求的内在逻辑。导致删了改改了删,最终时间不足。


 


更正后代码如下:


 第一阶段上机考试补题报告_位运算_06

 

 


反思:


先想后做题,而不是做一步想一步,从而规避删了改改了删等降低效率的情况。在定义变量时可以在合法的前提下用诸如“hang”、“lie”、“yu”等帮助自己更好的理清思路和逻辑。