c语言 从键盘输入年份和该年中的第几天,计算并输出该天的日期

输入:2004 279
输出:2004-10-5

Main()
{
int year,day,d,m,leap;
int Month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("Input the year and day:\n");
scanf("%d",&year);
scanf("%d",&day);
if( (year%4!=0) ||( (year%100==0)&& (year%400!=0)))leap=0;//不是闰年
else leap=1;//是闰年
If(leap==1)month[1]=29;//闰年二月29天
m=1;
for(int i=0;i<12;i++)
{
d=day-month[i];
if(d>0){
day=d;
m++;//月数加1
}
else break;
}
printf(“The date is:%d年%d月%d日”,year,m,d);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-05
#include<stdio.h>
int main()
{
int year,day,d,m,leap,a;
int month[12]={31,30,31,30,31,31,30,31,30,31,28,31};
printf("Input the year and day:\n");
scanf("%d",&year);
scanf("%d",&day);
a=365-day;
if( (year%4!=0) ||( (year%100==0)&& (year%400!=0)))leap=0;//不是闰年
else leap=1;//是闰年
if(leap==1)month[10]=29;//闰年二月29天
m=1;
for(int i=0;i<12;i++)
{
d=a-month[i];
if(d>-1){
a=d;
m++;//月数加1
}
else break;
}
printf("The date is:%d年%d月%d日",year,13-m,-d);
getchar();
getchar();
return 0;
}
相似回答