判断输入的年月日是否合法,并指出是闰年还是平年

<span style="font-size:24px;">#include <stdio.h>
void judge_data( int year,int month,int day);
void deal_data(int year,int month,int day);
void deal_data(int year,int month,int day)
{
	int c ;
	int w;
     if (month ==1 || month == 2) {
          year--;
          month += 12;
	  }
      c = year / 100;
      year = year - c * 100;
      w = (c / 4) - 2 * c + (year + year / 4) + (13 * (month + 1) / 5) + day - 1;
      while (w < 0) w += 7;
          w %= 7;
      if (w == 0) 
		  printf ("星期日");
      else 
		  printf ("星期%d", w);
	  return ;
}

void judge_data(int year,int month,int day)
{
   
   
   
   if((month>12)||(month<0))
       printf("month is error.\n");
   else if(((month == 1)||(month == 3)||(month == 5)||(month == 7)||(month == 8)||(month == 10)||(month == 12)) && (day>31 || day <= 0))
       printf("day is error.\n");
   else if(((month == 4)||(month == 6)||(month == 9)||(month == 11)) && (day > 30 || day <= 0))
       printf("day is error.\n");
   else if(((year%4 == 0 && year%100 != 0 || year%400 == 0)) && (month == 2) && (day > 29 || day <=0 ))
       printf("day is error.\n");
   else if((day > 28 || day <= 0) && (month == 2))
       printf("day is error.\n");
   else if ((year%4 == 0 && year%100 != 0)||(year%400 == 0))
   { 
	   printf("%d 是闰年\n",year);
       deal_data(year,month,day);
   }
   else{
	   printf("%d 是平年\n",year);
       deal_data(year,month,day);
   }

}

int main ()
{	
    int n;
    int i;
    printf("please input  years need be counted\n");
    scanf("%d",&n);
  
    for(i = 0 ; i < n ; i++){
       int year = 0;
	   int month = 0;
	   int day = 0;
	   printf ("please input year month day:\n");
       scanf ("%d %d %d", &year, &month, &day);
       judge_data(year,month,day);
         
  }

}</span>
<span style="font-size:24px;">
</span>
<span style="font-size:24px;">#include <stdio.h>
void judge_data( int year,int month,int day);
void deal_data(int year,int month,int day);
void deal_data(int year,int month,int day)
{
<span style="white-space:pre">	</span>int c ;
<span style="white-space:pre">	</span>int w;
     if (month ==1 || month == 2) {
          year--;
          month += 12;
<span style="white-space:pre">	</span>  }
      c = year / 100;
      year = year - c * 100;
      w = (c / 4) - 2 * c + (year + year / 4) + (13 * (month + 1) / 5) + day - 1;
      while (w < 0) w += 7;
          w %= 7;
      if (w == 0) 
<span style="white-space:pre">		</span>  printf ("星期日");
      else 
<span style="white-space:pre">		</span>  printf ("星期%d", w);
<span style="white-space:pre">	</span>  return ;
}


void judge_data(int year,int month,int day)
{
   
   
   
   if((month>12)||(month<0))
       printf("month is error.\n");
   else if(((month == 1)||(month == 3)||(month == 5)||(month == 7)||(month == 8)||(month == 10)||(month == 12)) && (day>31 || day <= 0))
       printf("day is error.\n");
   else if(((month == 4)||(month == 6)||(month == 9)||(month == 11)) && (day > 30 || day <= 0))
       printf("day is error.\n");
   else if(((year%4 == 0 && year%100 != 0 || year%400 == 0)) && (month == 2) && (day > 29 || day <=0 ))
       printf("day is error.\n");
   else if((day > 28 || day <= 0) && (month == 2))
       printf("day is error.\n");
   else if ((year%4 == 0 && year%100 != 0)||(year%400 == 0))
   { 
<span style="white-space:pre">	</span>   printf("%d 是闰年\n",year);
       deal_data(year,month,day);
   }
   else{
<span style="white-space:pre">	</span>   printf("%d 是平年\n",year);
       deal_data(year,month,day);
   }


}


int main ()
{<span style="white-space:pre">	</span>
    int n;
    int i;
    printf("please input  years need be counted\n");
    scanf("%d",&n);
  
    for(i = 0 ; i < n ; i++){
       int year = 0;
<span style="white-space:pre">	</span>   int month = 0;
<span style="white-space:pre">	</span>   int day = 0;
<span style="white-space:pre">	</span>   printf ("please input year month day:\n");
       scanf ("%d %d %d", &year, &month, &day);
       judge_data(year,month,day);
         
  }


}
</span>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值