C程序---日期转换问题---输入某年某月,计算并输出它是这一年的第几天

118 篇文章 44 订阅
#include <stdio.h>
#include <stdlib.h>
int DayofYear(int year, int month ,int day);
int LeapYear(int year);
#define MONTHS 12

main()
{
    int day,month,year,days;

    do{
        printf("please input date: ");
        scanf("%d%d%d",&year,&month,&day);
    }while(month <1 || month > 12);
    days = DayofYear(year,month,day);
    printf(" the days of year are :%d ", days);
}


int LeapYear(int year)
{
    int  flag = 0 ;
    if((year % 4 == 0 && year % 100 != 0) || ( year % 400 == 0))
        flag = 1;
    else
        flag  = 0;
    return flag;
}


int DayofYear( int year ,int month ,int day)
{
    int days = 0,i;
    int Days[2][MONTHS] = {
                          {31,29,31,30,31,30,31,30,31,30,31,30},
                          {31,28,31,30,31,30,31,30,31,30,31,30}
                           };
    if(LeapYear(year))
    {
             for(i = 0 ; i < month-1 ;i++)
        {

            days += Days[1][i];
         }
         days = days + day ;
    }
   else
     {
             for(i = 0 ; i < month-1 ;i++)
        {

            days += Days[0][i];a
         }
         days = days + day ;
    }

    return days ;
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值