题目是这样的:
输入某年某月某日,判断这一天是这一年的第几天。
我按照我所学到的知识,只能用笨方法来实现。。。而且要注意闰年的天数
望各位指教,代码肯定是能缩短的。。。希望各位告诉我下,谢谢拉
#include<stdio.h>
void main()
{
int a,b,c;//a是年,b是月,c是日
printf("输入年月日:");
scanf("%d%d%d",&a,&b,&c);
if((a%4==0&&a%100!=0)||(a%400==0))//判断是闰年
{
if(b==1)
printf("%d年%d月%d日是第%d天",a,b,c,c);
else if(b==2)
printf("%d年%d月%d日是第%d天",a,b,c,c+29);
else if(b==3)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31);
else if(b==4)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30);
else if(b==5)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31);
else if(b==6)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30);
else if(b==7)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31);
else if(b==8)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31);
else if(b==9)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31+30);
else if(b==10)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31+30+31);
else if(b==11)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31+30+31+30);
else if(b==12)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31+30+31+30+31);
}
else//不是闰年
{
if(b==1)
printf("%d年%d月%d日是第%d天",a,b,c,c);
else if(b==2)
printf("%d年%d月%d日是第%d天",a,b,c,c+28);
else if(b==3)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31);
else if(b==4)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30);
else if(b==5)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31);
else if(b==6)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30);
else if(b==7)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31);
else if(b==8)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31);
else if(b==9)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31+30);
else if(b==10)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31+30+31);
else if(b==11)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31+30+31+30);
else if(b==12)
printf("%d年%d月%d日是第%d天",a,b,c,c+28+31+30+31+30+31+31+30+31+30+31);
}
}
[此贴子已经被作者于2007-8-7 22:03:30编辑过]