用数组的作输入值,根据数组的元素 年,月,日 来算时间,主要是确定结构,我用switch ,先确定月份,其中2月份比较特殊,他有个闰年和平年区分 。
#include <stdio.h>
#include <stdlib.h>
//闰年 (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0))
int Leap( int x)
{
if(x%100==0 )
{
if(x%400==0)
{
return 1;
}
else
{
return 0;
}
}
else
{
if(x%4==0)
{
return 1;
}
int main()
{
int In_Time[3];//输入时间
int reward;//润年的返回值
int a; //月份的值
int c; //月的返回值
int d; //天数
printf("请输入时间格式:年 月 日\n");
for(int i=0;i<3;i++)
{
scanf("%d",&In_Time[i]);
}
reward=Leap(In_Time[0]);
a=In_Time[1]%12;
switch(a)
{
case 1:
c=0;
break;
case 2:
c=31;
break;
case 3:
c=59;
break;
case 4:
c=90;
break;
case 5:
c=120;
break;
case 6:
c=151;
break;
case 7:
c=181;
break;
case 8:
c=212;
break;
case 9:
c=243;
break;
case 10:
c=273;
break;
case 11:
c=304;
break;
case 0:
c=334;
break;
default:
printf("系统bug\n");
}
if(In_Time[1]>3)
{
d=c+In_Time[2]+reward;
}
else
{
d=c+In_Time[2];
}
printf("这是一年的第%d天",d);
return 0;
}