c语言,制作一个高考倒计时,显示当天距离高考还有多少天?1、自定义函数实现闰年的判断,2、自定义函数实现判断某个日期是当年的第几天
时间: 2024-12-25 10:26:47 浏览: 16
在C语言中,我们可以创建一个简单的程序来制作高考倒计时功能,并包含两个自定义函数:一个是闰年判断函数,另一个是计算指定日期是当年第几天的函数。下面是一个基本的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 自定义函数判断是否为闰年
int is_leap_year(int year) {
if (year % 4 == 0) {
if (year % 100 == 0) {
return year % 400 == 0;
} else {
return 1;
}
}
return 0;
}
// 自定义函数计算某月某日是当年的第几天
int days_in_month(int month, int year) {
switch (month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
return 31;
case 4: case 6: case 9: case 11:
return 30;
default: // February
if (is_leap_year(year)) {
return 29;
} else {
return 28;
}
}
}
void countdown_to_gaokao() {
struct tm current_date = {0};
time_t raw_time = time(NULL);
localtime_r(&raw_time, ¤t_date);
int days_until_gaokao = 7; // 假设高考固定在每年的6月7日(实际情况需要查询)
int current_day_of_year = current_date.tm_yday;
// 计算剩余天数
while (current_day_of_year < days_until_gaokao) {
days_until_gaokao -= days_in_month(current_date.tm_mon + 1, current_date.tm_year);
++current_date.tm_mday;
current_date.tm_mon += 1;
if (current_date.tm_mon > 12) {
current_date.tm_mon = 1;
++current_date.tm_year;
}
current_day_of_year = current_date.tm_yday;
}
printf("距离高考还有%d天\n", days_until_gaokao);
}
int main() {
countdown_to_gaokao();
return 0;
}
```
阅读全文