1. (程序题) 闰年判断。首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入一个年份year。 (闰年是能被4整除但不能被100整除或能被400整除的年份。)请判断给定的年份是否是闰年。 Sample Input: 2 2008 1900 Sample Output: YES NO
时间: 2023-05-27 14:02:30 浏览: 35
```python
t = int(input()) # 输入测试数据组数
for i in range(t):
year = int(input()) # 输入年份
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): # 闰年条件判断
print("YES")
else:
print("NO")
```
注释:首先输入测试数据组数,然后使用循环输入每一组测试数据,即输入年份。接着判断输入的年份是否为闰年,并输出判断结果。
相关问题
c语言闰年是能被4整除但不能被100整除或者能被400整除的年份。请判断给定年份是否闰年。 输入格式: 首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入一个年份y。 输出格式: 对于每组测试,若y是闰年输出“YES”,否则输出“NO”。引号不必输出。
以下是C语言代码实现:
```c
#include <stdio.h>
int main() {
int t;
scanf("%d", &t); //输入测试数据组数
while (t--) { //循环处理每组测试数据
int year;
scanf("%d", &year); //输入年份
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { //判断是否为闰年
printf("YES\n"); //输出“YES”
} else {
printf("NO\n"); //输出“NO”
}
}
return 0;
}
```
输入样例:
```
3
2000
2004
2100
```
输出样例:
```
YES
YES
NO
```
C++ 编写程序,给定一个日期,计算该日期之后n天的日期。例如, (2023-05-19) + 2 = 2023-05-21。 输入 输入包含多组测试数据。首先输入一个正整数n,表示测试数据的组数1<=n<=100。 此后每行输入四个正整数,表示给定日期的年月日以及延后的天数。 输出 每组给定日期延后特定天数的日期。
以下是C++的代码实现:
```c++
#include<iostream>
#include<cstdio>
using namespace std;
int month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; // 每个月份对应的天数
bool isLeapYear(int year) // 判断是否是闰年
{
if((year%4==0 && year%100!=0) || year%400==0)
return true;
else
return false;
}
int main()
{
int n;
cin>>n;
while(n--)
{
int year,month1,day,days;
scanf("%d%d%d%d",&year,&month1,&day,&days);
day += days; // 先加上延后的天数
if(isLeapYear(year)) // 如果是闰年,二月份天数加一
month[2] = 29;
else
month[2] = 28;
while(day > month[month1]) // 天数大于月份对应天数,需要进位
{
day -= month[month1];
month1++;
if(month1 == 13) // 月份大于12,需要进位到下一年
{
year++;
month1 = 1;
if(isLeapYear(year)) // 判断是否是闰年,二月份天数加一
month[2] = 29;
else
month[2] = 28;
}
}
printf("%04d-%02d-%02d\n",year,month1,day); // 输出结果
}
return 0;
}
```
代码思路如下:
1. 首先输入测试数据的组数n,表示共有n组数据需要计算。
2. 依次输入每个日期的年、月、日以及延后的天数。
3. 判断是否是闰年,如果是闰年则二月份天数加一。
4. 先将延后的天数加上原来的天数,得到总天数。
5. 如果总天数大于该月份对应的天数,需要进位到下一个月份。
6. 如果月份大于12,需要进位到下一年。
7. 输出计算所得日期。
注意:C++中输出日期需要使用 `%04d-%02d-%02d` 的格式,其中 `%04d` 表示输出4位数字,不足4位时前面补0,`%02d` 表示输出2位数字,不足2位时前面补0。