首页 > 代码库 > 输入年 月 日 ,计算时该年的第几天

输入年 月 日 ,计算时该年的第几天

#include "stdio.h"
void main()
{
    /*year 年  month 月  month1 备份月数 day 日  day1 备份总体天数,day用于接收当月的天数,d1备份当月的天数。
      s 计算当月之前的月的总天数 sum 天数总和 
    */
   int year,month,month1,day,day1,d1,sum=0,s=0;
   
   printf("请输入年份:");
   scanf("%d",&year);
   fflush(stdin);
   
   do
   {
   
   printf("请输入月份:");
   scanf("%d",&month);
   fflush(stdin);
   if(month<1||month>12)        //输入有误的提示
   {
       printf("您输入有误\n");
   }
      
   }while(month<1||month>12);//判断输入 月 是否有误
   //1 3 5 7 8 10 12
   //4 6 9 11
   month1=month;        //备份月数
   month--;                //month--:减去当前月总数,计算时,当月的总天数不用计入,(1月28,一月总天数31天不用算进去)
   for(;month>=1;month--)
   {
     if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
     {
           day=31;
     }else 
           if(month==4||month==6||month==9||month==11)
           {
           day=30;
           }else 
        if(month==2)
     {
           if(year%4==0&&year%100==0||year%400==0)
           {
           day=28;
           }else
           {
           day=29;
           }
     }
     s=s+day;
   }d1=day;
   do{
           printf("请输入日:");
           scanf("%d",&day);
           fflush(stdin);
           day1=day;
           if(day1<1||day1>d1)
           printf("您输入有误\n");
      }while(day1<1||day1>d1);
   
          sum=day1+s;        //总天数表达式
          printf("%d月%d日是%d年的%d天",month1,day1,year,sum);
   
}

技术分享

 

输入年 月 日 ,计算时该年的第几天