问题来啦
在C语言中 从键盘输入一个日期(年月日),输出该日期是当年的第几日?
给你个傻傻的代码,哈哈……
#include<stdio.h>
int rn(int year)
{
int a;
if(year%100!=0)
{
if(year%4==0) a=1;
else a=0;
}
else
{
if(year%400==0) a=1;
else a=0;
}
return(a);
}
void main()
{
int year,month,day,yn,sum;
printf("please input year\n");
scanf("%d",&year);
printf("please input month\n");
scanf("%d",&month);
printf("please input day\n");
scanf("%d",&day);
yn=rn(year);
if(month==2&&day==29)
{
if(yn==0) {sum=0;goto error;}
}
if(month==1) sum=day;
else if(month==2) sum=31+day;
else if(month==3) sum=31+28+yn+day;
else if(month==4) sum=31+28+yn+31+day;
else if(month==5) sum=31+28+yn+31+30+day;
else if(month==6) sum=31+28+yn+31+30+31+day;
else if(month==7) sum=31+28+yn+31+30+31+30+day;
else if(month==8) sum=31+28+yn+31+30+31+30+31+day;
else if(month==9) sum=31+28+yn+31+30+31+30+31+31+day;
else if(month==10) sum=31+28+yn+31+30+31+30+31+31+30+day;
else if(month==11) sum=31+28+yn+31+30+31+30+31+31+30+31+day;
else if(month==12) sum=31+28+yn+31+30+31+30+31+31+30+31+30+day;
else sum=0;
error:if(sum!=0) printf("the result is %d\n",sum);
if(sum==0) printf("ERROR\n");
}
其实用switch要方便些……呵呵
在TC2.0上编译通过
我输入2010年5月24日,结果是144,很正确……