这是之前自己老师出的一题,自己当时采用了比较笨的方法。将平年跟闰年每月的天数放进两个数组内
p[12]={31,28,31,30,31,30,31,31,30,31,30,31},
r[12]={31,29,31,30,31,30,31,31,30,31,30,31};
然后判断是闰年还是平年,然后使用不同的数组来计算天数
#include<stdio.h>
int nian(int n);
int main()
{
int p[12]={31,28,31,30,31,30,31,31,30,31,30,31},
r[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int y,m,d,i,s=0;
printf("请输入今天的日期:");
scanf("%d%d%d",&y,&m,&d);
if(nian(y)==1)// 当今年是闰年时
{
for(i=0;i<m-1;i++)
s+=r[i];
s+=d;
}
if(nian(y)==0)// 当今年是平年时
{
for(i=0;i<m-1;i++)
s+=p[i];
s+=d;
}
printf("第%d天",s);
}
int nian(int n)
{
if((n%4==0&&(n%100!=0))||n%400==0)
return 1;
else
return 0;
}