怎么用c语言编写万年历

编写一个万年历程序需要一些基本的C语言知识,包括数组、循环、条件语句等,以下是一个简单的万年历程序的编写步骤:

10年积累的成都做网站、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有湛江免费网站建设让你可以放心的选择与我们合作。

1、我们需要定义一个数组来存储每个月的天数,这是因为大多数年份都有31天,但二月有28或29天,闰年则有29天,我们可以使用一个数组来存储这些信息。

2、我们需要创建一个函数来计算给定日期是星期几,这可以通过计算给定日期与某个固定日期(例如1970年1月1日)之间的天数来实现,我们将这个天数除以7,余数就是星期几。

3、我们需要创建一个主函数,让用户输入年份和月份,然后显示该月的日历。

以下是一个简单的万年历程序的代码:

#include 
// 定义每个月的天数
int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 判断是否是闰年
int isLeapYear(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
// 计算给定日期是星期几
int dayOfWeek(int year, int month, int day) {
    int daysOfMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    if (isLeapYear(year)) {
        daysOfMonth[2] = 29;
    }
    int totalDays = day;
    for (int i = 1; i < month; i++) {
        totalDays += daysOfMonth[i];
    }
    return (totalDays + 1) % 7;
}
// 显示日历
void printCalendar(int year, int month) {
    printf("日t一t二t三t四t五t六
");
    int startDay = dayOfWeek(year, month 1, 1);
    int daysInMonth = days[month 1];
    for (int i = 0; i < startDay; i++) {
        printf("t");
    }
    for (int i = 1; i <= daysInMonth; i++) {
        printf("%dt", i);
        if ((i + startDay) % 7 == 0) {
            printf("
");
        }
    }
    printf("
");
}
int main() {
    int year, month;
    printf("请输入年份和月份:");
    scanf("%d%d", &year, &month);
    printCalendar(year, month);
    return 0;
}

这个程序首先定义了一个数组来存储每个月的天数,然后定义了一个函数来判断是否是闰年,接着定义了一个函数来计算给定日期是星期几,最后在主函数中让用户输入年份和月份,然后显示该月的日历。

注意,这个程序只能显示一个月的日历,如果你想显示一年的日历,你需要修改主函数,让用户输入年份和月份的范围,然后分别显示每个月份的日历。

新闻名称:怎么用c语言编写万年历
分享网址:http://www.mswzjz.cn/qtweb/news7/222757.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能