三、编程题(每题 25 分,共 50 分) 1. 每月天数 【问题描述】 小明刚刚学习了每月有多少天,以及如何判断平年和闰年,想到可以使用编程方法求出给定的月份有多少天。你能做到吗? 【输入描述】 输入一行,包含两个整数,分别表示一个日期的年、月。 【输出描述】 输出一行,包含一个整数,表示输入月份有多少天。 【样例输入 1】 2022 1 【样例输出 1】 31 【样例输入 2】 2020 2 【样例输出 2】 29 【题目大意】条件判断问题,主要分清平年和闰年,平年 2 月 28 天,闰年 2 月29 天,其余按照大小月取分,输出对应的天数。 【考纲知识点】基本数据类型、控制语句结构、输入输出语句、变量的定义与使用(一级) 【解题思路】 1.定义变量:年份 y、月份 m 为 int 类型、判断是否为闰年的 bool 类型 leap 并赋值为 false(一开始让它为平年); 2.输入年份、月份; 3.判断是否为闰年,如果是 400 的倍数,或者是 4 的倍数但不是 100 的倍数,就是闰年,将 leap 改为 true; 4.判断是否为大月:1、3、5、7、8、10、12 月为大月,输出 31;小月:4、6、9、11 月为小月,输出 30;如果不是大月也不是小月,看下是否为闰年,闰年输出 29,否则输出 28。 【参考程序】
【洛谷链接】 https://www.luogu.com.cn/problem/B3835 2. 长方形面积 【问题描述】 小明刚刚学习了如何计算长方形面积。他发现,如果一个长方形的长和宽都是整数,它的面积一定也是整数。现在,小明想知道如果给定长方形的面积,有多少种可能的长方形,满足长和宽都是整数? 如果两个长方形的长相等、宽也相等,则认为是同一种长方形。约定长方形的长大于等于宽。正方形是长方形的特例,即长方形的长和宽可以相等。 【输入描述】 输入一行,包含一个整数,表示长方形的面积。约定 2 ≤ A ≤ 1000。 【输出描述】 输出一行,包含一个整数,表示有种可能的长方形。 【样例输入 1】 4 【样例输出 1】 2 【样例解释 1】 2 种长方形面积为 4,它们的长宽分别为 2 x 2,4 x 1。 【样例输入 2】 6 【样例输出 2】 2 【样例解释 2】 2 种长方形面积为 6,它们的长宽分别为 3 x 2,6 x 1。 【题目大意】统计长方形的个数。两个长方形的长和宽相等算一种情况,所以规定长大于宽;长和宽相等是正方形,是长方形的特例,算一种情况。统计完个数之后输出。 【考纲知识点】变量的定义与使用、控制语句、基本运算、输入输出语句(一级) 【解题思路】 1.定义变量:面积 area、计数变量 cnt、宽 w; 2.利用循环列举所有宽的可能性,从 1 开始,到宽*宽小于等于面积即可,后面大于宽的就是长了,和前面统计过的算一种情况,所以不用往后遍历。 3.每次循环判断面积对宽取余是不是为 0,如果为 0,说明长、宽都是整数,满足题意,计数变量 cnt++; 4.for 循环结束后输出计数变量 cnt。 【参考程序】
(责任编辑:admin) |