c语言判断闰年pta
时间: 2023-12-12 10:35:11 浏览: 118
以下是C语言判断闰年的代码示例:
```c
#include <stdio.h>
int main() {
int n, year;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &year);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
printf("YES\n");
} else {
printf("NO\n");
}
}
return 0;
}
```
该代码通过输入测试组数n和n个年份y,判断每个年份y是否为闰年,若是则输出YES,否则输出NO。
相关问题
c语言pta输出闰年
以下是一个C语言的程序,用于输出PTA所给定范围内的所有闰年:
```c
#include <stdio.h>
int main(void) {
int R_year, i, j = 0;
scanf("%d", &R_year);
if (R_year >= 2001 && R_year <= 2100) {
for (i = 2001; i <= R_year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) {
printf("%d\n", i);
j++; //用于检测是否有闰年输出
}
}
if (j == 0) {
printf("None\n"); //没有则输出None
}
} else {
printf("Invalid year!\n");
}
return 0;
}
```
c语言计算天数pta
在C语言中,要计算两个日期之间的天数差(如PTA),可以使用`mktime()`函数将日期转换为时间戳,然后通过简单的数学操作获取天数差异。以下是一个基本的例子:
```c
#include <stdio.h>
#include <time.h>
// 定义结构体表示日期
struct Date {
int year;
int month;
int day;
};
// 计算两个日期之间的天数差
int days_between_dates(struct Date date1, struct Date date2) {
time_t t1 = mktime(&(date1.year * 10000 + date1.month * 100 + date1.day));
time_t t2 = mktime(&(date2.year * 10000 + date2.month * 100 + date2.day));
if (t1 == (time_t)-1 || t2 == (time_t)-1) {
// 如果日期无效,则返回-1
return -1;
}
double seconds_diff = difftime(t2, t1);
return (int)(seconds_diff / (60 * 60 * 24)); // 返回整数天数
}
int main() {
struct Date date1 = {2023, 3, 5}; // 第一个日期
struct Date date2 = {2023, 3, 15}; // 第二个日期
int days = days_between_dates(date1, date2);
if (days >= 0) {
printf("从%d年%m月%d日到%d年%m月%d日相隔了 %d 天。\n", date1.year, date1.month, date1.day, date2.year, date2.month, date2.day, days);
} else {
printf("输入的日期无效。\n");
}
return 0;
}
```
这个程序首先定义了一个日期结构体,然后定义了一个函数`days_between_dates()`用于计算两个日期的差距。注意,这个例子假设月份有30天,实际应用中需要考虑闰年等因素以获得更准确的结果。
阅读全文