前言
此类题是求日期问题的常见类型,如果有不会的同学,一定要认真思考代码,本题可以作为大多数求日期间隔的题的题源
一、题意
输入一个日期,计算该日期是该年度第几天,输出计算结果。
输入2000 10 12
输出
286
输入1999 10 12
输出
285
二、代码
1.代码的实现
// 输入一个日期,计算该日期是该年度第几天,输出计算结果。
#include<stdio.h>
int main()
{
int a[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};//a用于记录每个月份对应的天数
int sum=0;//sum代表该日期是当年的第几天
int year,month,day;//用于输入年月日
int i;//用于for循环中对月份进行求和
scanf("%d%d%d",&year,&month,&day);
if((year%4==0&&year%100!=0)||year%400==0)//此处一定要注意,闰年的两个条件:一、年份能被四整除同时不能被100整除。二、年份能被400整除
a[2]=29;//闰年2月份有29天!!!!
else
a[2]=28;
for(i=1;i<month;i++)
sum=sum+a[i];
sum=sum+day;
printf("%d",sum);
return 0;
}
}
2.读入数据
2000//输入年
10//输入月
12//输入日
286//输出2000,10,12是2000年的第多少天
总结
在c语言中设计一个程序输入年月日,判断该月日时那年的第几天的程序十分的常见,属于基础题型,所以此题不会的同学需要多阅读几遍程序,理解以后自己写一遍才能更好地吸收知识!