计算某日是该年的第几天

要求:编写一个计算天数的程序,从键盘中输入年、月、日,在 屏幕中输出此日是该年的第几天

#include <stdio.h>

int leap(int a)
{
         if(a%4==0&&a%100!=0||a%400==0)//判断是否为润年
                 return 1;
         else
                return 0;
}
int num(int year,int month,int day)
{
              int sum=0,i,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};//数组a存放平年每月的天数
              int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};//数组b存放润年每月的天数 
              if(leap(year)==1)
             {
                 for(i=0;i<month-1;i++)//判断是否为润年
                             sum+=b[i];//是润年就累加数组b前month-1个月份的天数
             }
             else
              {
                 for(i=0;i<month-1;i++)
                       sum+=a[i]; //不是润年就累加数组a前month-1个月的天数
               }
            sum+=day;//将前面累加的结果加上日期,得出总天数
           return sum;
}
main()
{
      int year,month,day,n;
      printf("输入年月日:");
      scanf("%d%d%d",&year,&month,&day);
      n=num(year,month,day);
      printf("第%d天\n",n);
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值