第几天_讨论帖

2000年的1月1日,是那一年的第1天。
那么,2000年的5月4日,是那一年的第几天?

#include <stdio.h>
int main() {
    int n = 1;//n为计算天数
    int year = 2000;//2000年的1月1日
    int month = 1;
    int day = 1;
    int year1, month1, day1=0;
    int months[12] = {31,29,31,30,31,30,31,31,30,31,30,31 };//月份数组
    printf("年:");//输入要计算的日期
    scanf("%d",&year1);
    printf("月:");
    scanf("%d", &month1);
    printf("日:");
    scanf("%d", &day1);
    if ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0)) {//判断今年是否为闰年
        months[1] = 29;
    }
    else { months[1] = 28; }
        for (; day <= months[month - 1]; ) {
            day++;
            n++;
            if (day > months[month - 1]) {//小于这个月的日期
                day = 1;
                month++;
                if (month > 12) {//月份不大于12
                    month = 1;
                    year++;
                    if ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0)) {//判定下年是否是闰年
                        months[1] = 29;
                    }
                    else { months[1] = 28; }
                }
            
            }
            if (year == year1 && month == month1 && day == day1) {//如果到目标日期则结束运算
                break;
            }
        }
    
    printf("这是2000年1月1日过后的第%d天",n);
}

...全文
18 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

10

社区成员

发帖
与我相关
我的任务
社区管理员
  • community_1818
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧