主题:[讨论]可以更加简单吗、要用函数啊???
楼主
输入年日算出是该年的几月几日
#include <stdio.h>
#include <stdlib.h>
int m,d1;
void f(int y,int d)
{
if(y%4==0&&y%100!=0||y%400==0)
{
if(d>0&&d<=31)
{
m=1;
d1=d;
}
else
if(d>31&&d<=60)
{
m=2;
d1=d-31;
}
else if(d>60&&d<=91)
{
m=3;
d1=d-60;
}
else if(d>91&&d<=121)
{
m=4;
d1=d-91;
}
else if(d>121&&d<=152)
{
m=5;
d1=d-121;
}
else if(d>152&&d<=182)
{
m=6;
d1=d-152;
}
else if(d>182&&d<=213)
{
m=7;
d1=d-182;
}
else if(d>213&&d<=244)
{
m=8;
d1=d-213;
}
else if(d>244&&d<=274)
{
m=9;
d1=d-244;
}
else if(d>274&&d<=305)
{
m=10;
d1=d-274;
}
else if(d>305&&d<=335)
{
m=11;
d1=d-305;
}
else if(d>335&&d<=366)
{
m=12;
d1=d-335;
}
}
else
{
if(d>0&&d<=31)
{
m=1;
d1=d;
}
else if(d>31&&d<=59)
{
m=2;
d1=d-31;
}
else if(d>59&&d<=90)
{
m=3;
d1=d-59;
}
else if(d>90&&d<=120)
{
m=4;
d1=d-90;
}
else if(d>120&&d<=151)
{
m=5;
d1=d-120;
}
else if(d>151&&d<=181)
{
m=6;
d1=d-151;
}
else if(d>181&&d<=212)
{
m=7;
d1=d-181;
}
else if(d>212&&d<=243)
{
m=8;
d1=d-212;
}
else if(d>243&&d<=273)
{
m=9;
d1=d-243;
}
else if(d>273&&d<=304)
{
m=10;
d1=d-273;
}
else if(d>304&&d<=334)
{
m=11;
d1=d-304;
}
else if(d>334&&d<=365)
{
m=12;
d1=d-334;
}
}
}
int main()
{
int y,d;
while(scanf("%d%d",&y,&d)!=EOF)
{
f(y,d);
printf("年:%d 日:%d\n",m,d1);
}
return 0;
}
输入年日算出是该年的几月几日
#include <stdio.h>
#include <stdlib.h>
int m,d1;
void f(int y,int d)
{
if(y%4==0&&y%100!=0||y%400==0)
{
if(d>0&&d<=31)
{
m=1;
d1=d;
}
else
if(d>31&&d<=60)
{
m=2;
d1=d-31;
}
else if(d>60&&d<=91)
{
m=3;
d1=d-60;
}
else if(d>91&&d<=121)
{
m=4;
d1=d-91;
}
else if(d>121&&d<=152)
{
m=5;
d1=d-121;
}
else if(d>152&&d<=182)
{
m=6;
d1=d-152;
}
else if(d>182&&d<=213)
{
m=7;
d1=d-182;
}
else if(d>213&&d<=244)
{
m=8;
d1=d-213;
}
else if(d>244&&d<=274)
{
m=9;
d1=d-244;
}
else if(d>274&&d<=305)
{
m=10;
d1=d-274;
}
else if(d>305&&d<=335)
{
m=11;
d1=d-305;
}
else if(d>335&&d<=366)
{
m=12;
d1=d-335;
}
}
else
{
if(d>0&&d<=31)
{
m=1;
d1=d;
}
else if(d>31&&d<=59)
{
m=2;
d1=d-31;
}
else if(d>59&&d<=90)
{
m=3;
d1=d-59;
}
else if(d>90&&d<=120)
{
m=4;
d1=d-90;
}
else if(d>120&&d<=151)
{
m=5;
d1=d-120;
}
else if(d>151&&d<=181)
{
m=6;
d1=d-151;
}
else if(d>181&&d<=212)
{
m=7;
d1=d-181;
}
else if(d>212&&d<=243)
{
m=8;
d1=d-212;
}
else if(d>243&&d<=273)
{
m=9;
d1=d-243;
}
else if(d>273&&d<=304)
{
m=10;
d1=d-273;
}
else if(d>304&&d<=334)
{
m=11;
d1=d-304;
}
else if(d>334&&d<=365)
{
m=12;
d1=d-334;
}
}
}
int main()
{
int y,d;
while(scanf("%d%d",&y,&d)!=EOF)
{
f(y,d);
printf("年:%d 日:%d\n",m,d1);
}
return 0;
}