C语言代码:将2020年计数转换为日期和星期
C语言代码:将2020年计数转换为日期和星期
本文提供了一个C语言代码示例,用于将2020年1月1日作为起点,将1至366的计数转换为年、月、日和星期。该代码使用结构体存储日期信息,并考虑闰年的情况。
#include<stdio.h>
struct Date {
int year;
int month;
int day;
int weekday;
};
int isLeapYear(int year) {
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}
void convertToDate(int count, struct Date *date) {
int daysPerMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, sumDays = 0;
date->year = 2020;
for (i = 0; i < 12; i++) {
if (count <= sumDays + daysPerMonth[i]) {
date->month = i + 1;
date->day = count - sumDays;
break;
}
sumDays += daysPerMonth[i];
if (i == 1 && isLeapYear(date->year))
sumDays++;
}
date->weekday = (count + 2) % 7;
if (date->weekday == 0)
date->weekday = 7;
}
int main() {
int count;
struct Date date;
printf("请输入一个1~366之间的数字:");
scanf("%d", &count);
convertToDate(count, &date);
printf("%d年%d月%d日 星期%d\n", date.year, date.month, date.day, date.weekday);
return 0;
}
运行代码后,程序会提示用户输入一个1~366之间的数字,然后将该数字转换为年、月、日、星期,并输出到控制台窗口。
原文地址: https://www.cveoy.top/t/topic/pbJk 著作权归作者所有。请勿转载和采集!