解题思路:
首先判断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; }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:767 |
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1850 |
回文数(一) (C语言代码)浏览:809 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1215 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:821 |
剪刀石头布 (C语言代码)浏览:1792 |
三角形 (C语言代码)浏览:965 |
A+B for Input-Output Practice (C语言代码)浏览:505 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:594 |
1051(奇了怪了)浏览:747 |