7-1 计算到任意日期的总天数 (10分)
编程序实现:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到该日期前一年的年末总共有多少天,到该日期前一个月的月末总共有多少天,到这一天总共有多少天。假定从公元第一天开始,就实施格里高利历法。格里高利历法的置闰规则是400年97闰,也可以概括为:四闰百不闰,四百闰。
输入格式:
输入三个代表年、月、日的正整数,以空格分隔。
输出格式:
输出三个总天数,数据之间以换行符分隔,最后换行。
输入样例:
2012 3 29
输出样例:
734502
734562
734591
#include<stdio.h>
int main()
{
int a,b,c,sum=0;
int day[12] = {
31,29,31,30,31,30,31,31,30,31,30,31};
scanf("%d%d%d",&a,&b,&c);
for(int i=1;i<a;i++)
{
if(i%4==0&&i%100!=0||i%400==0)
{
sum += 366;
}
else sum += 365;
}
printf("%d\n",sum);
if(!(a%4==0&&a%100!=0||a%400==0))
{
day[1]-=1;
}
for(int i=0;i<b-1;i++)
{
sum+=day[i];
}
printf("%d\n",sum);
printf("%d\n",sum+c);
}