解题思路:
首先判断2018年是否为闰年,“能被4整除并且不能被100整除”或者“能被400整除”的年份为闰年,由于2018不能被4整除、也不能被400整除,所以2018年不是闰年,那么2018年的2月只有28天,判断是否为闰年的函数如下所示:

int is_leap_year(int year){
    return (year%4==0&&year%100!=0||year%400==0)?1:0;
}

然后,为了计算2018年的7月19日是这一年的第几天,需要加上从1月到6月每月的天数以及7月的19天,1月、3月、5月各有31天,2月有28天,4月、6月各有30天,判断每月有多少天的函数如下所示:

int month_days(int year,int month){
    int days;
    if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
        days=31;
    else if(month==2){
        if(is_leap_year(year)) days=29;
        else days=28;
    }else days=30;
    return days;
}

于是我们可以在循环中让year被设定为2018、让month取1到6,计算31+28+31+30+31+30=181,再加上7月的19天就等于200,即2018年的7月19日是这一年的第200天。

注意事项:
根据题目描述,需要提交的是一个整数,不要填写任何多余内容;所以只需直接提交计算结果,不需要展示任何计算过程。

参考代码:

#include<stdio.h>
int main(){
    printf("200");
    return 0;
}


点赞(1)
 

0.0分

3 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论