#include<stdio.h>
#define N 12
int main()
{
int day1[2][N]={{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,month,day;
int x,t;
int i;
printf("请输入某年的第几天:");
scanf("%d%d",&year,&x);
t=x;
if((year%4==0)&&(year%100!=0)||(year%400==0)) //判断该年为闰年
{
for(i=0;i<12;i++)
{
x=x-day1[1][i];
if(x>0 && x<32)
break;
}
}
else
{
for(i=0;i<12;i++)
{
x=x-day1[0][i];
if(x>0 && x<32)
break;
}
}
// month=i+1+1;
// day=x;
printf("%d年的第%d天是%d年的%d月%d日\n",year,t,year,i+2,x);
return 0;
}
运行如下:
知识点:
*年份是分闰年与平年的,故用
if((year%4==0)&&(year%100!=0)||(year%400==0)) 来判断该年是否为闰年
*数组元数下标是从0开始