输入年份、和这一年的第N天,最后算出这一天是这一年的几月几日。(区分闰年)
#include <stdio.h>
void Rn(int year,int days,int a[2][12]);//输出年月日
int main()
{
int a[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
int year,days,sum,i,c,g;
printf(“Input year and days:”);
scanf("%d,%d",&year,&days);
Rn(year,days,a);
return 0;
}
void Rn(int year,int days,int a[2][12])
{
int i,sum,c,g;
if(((year%40)&&(year%100!=0))||(year%4000))//判断是否为闰年
{
sum = 0;
i=0;
while(sum<days)
{
sum = sum + a[1][i];
i++;
}
if(days>31)//如果天数大于31天,就用天数减去之前的月日数
{
c=days;
for(g=0;g<(i-1);g++)
{
c=c - a[1][g];
}
printf("%d年.%d月.%d日\n",year,i,c);
}
else //如果小于31天,直接输出
printf("%d年.%d月.%d日\n",year,i,days);
}
else
{
sum = 0;
i=0;
while(sum<days)
{
sum = sum + a[0][i];
i++;
}
if(days>31)
{
c=days;
for(g=0;g<(i-1);g++)
{
c=c - a[0][g];
}
printf("%d年.%d月.%d日\n",year,i,c);
}
else
printf("%d年.%d月.%d日\n",year,i,days);
}
}