計算公元後的相差天數
#include <stdio.h>
long sum(int y,int m,int d)
{
int x[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
long i,s=0;
for(i=1;i<y;i++)
if(i%4==0&&i%100!=0||i%400==0) s+=366;
else s+=365;//整年份的天數
if(y%4==0&&y%100!=0||y%400==0)x[2]=29;
for(i=1;i<m;i++)
s+=x[i];//整月的天數
s+=d;//日的天數
return s;//返回總天數,相對公元1年
}
void main()
{
int y1,m1,d1,y2,m2,d2;
long s1,s2;
printf("輸入年 月 日:");
scanf("%d%d%d",&y1,&m1,&d1);
printf("輸入年 月 日:");
scanf("%d%d%d",&y2,&m2,&d2);
s1=sum(y1,m1,d1);
s2=sum(y2,m2,d2);
printf("相差天數:%ld\n",s2-s1);
}
自己簡單改下提示信息就行了。