C语言-计算某日是该年的第几天

原创 2017年02月26日 12:06:43

具体需求:编写一个计算天数的程序,用户通过键盘输入年、月、日,在屏幕中输出此日期是该年的第几天


思路:首先判断输入的年份是否是闰年,然后再计算输入的日期为该年的第几天


具体代码实现


1:首先自定义leapYear函数实现判断输入的年份是否有闰年

int leapYear(int a){

    if ((a%4 == 0 && a%100 != 0) || a%400 == 0) { //闰年判断条件
        return 1; //是闰年返回1
    }else{
        return 0; //不是闰年返回0
    }
    
}

2:自定义calculateDate函数实现计算输入的日期为该年的第几天

int calculateDate(int year, int month, int day){

    int sum = 0,i;
    int 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 (leapYear(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;
    
}

3:main函数中进行调用

int main(int argc, const char * argv[]) {

    int year,month,day,result;
    printf("请输入年月日\n");
    scanf("%d%d%d",&year,&month,&day);  //输入年月日
    result = calculateDate(year, month, day); //调用计算天数函数
    printf("第%d天\n",result);
    
    /*
     请输入年月日
     2017 2 26
     第57天
     */
    return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

杭电ACM2005题(第几天?)------C语言

第几天? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub...
  • ZY_extreme
  • ZY_extreme
  • 2016年10月06日 14:08
  • 1172

用C语言来实现_输入一个日期(年月日),计算是这一年中的第几天

1.环境: 2.代码: /*  *wuxiuwen  *input date, the date of this year is calculated which day.  *输入一个日期...
  • wxwd521
  • wxwd521
  • 2012年08月10日 17:36
  • 26065

c语言计算这是一年中的第几天

int Day(int year,int month,int day) { int i;int days=0; int months[12]={31,0,31,30,31,30,31,31...
  • zhedahe
  • zhedahe
  • 2013年09月17日 09:16
  • 1736

输入日期计算其对应这一年的第几天C语言

  • 2013年03月13日 08:15
  • 1KB
  • 下载

《C语言及程序设计》实践参考——当年第几天

返回:贺老师课程教学链接  项目要求【项目5-当年第几天】定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结...
  • sxhelijian
  • sxhelijian
  • 2015年04月22日 11:06
  • 1357

C语言之计算某天为一年中第几天

C语言之计算某天为一年中第几天文章链接知识点 C语言实现计算出某天对应一年中的第几天 输入某年某月某日,判断这一天是这一年的第几天?程序分析:以5月21日为例,应该先把前5个月的加起来,然后再加上21...
  • qq_16628781
  • qq_16628781
  • 2017年05月21日 11:58
  • 861

C语言实例3——输入某年某月某日,判断这一天是这一年的第几天?

题目:输入某年某月某日,判断这一天是这一年的第几天? /* 程序分析:以3月5日为例,应该先把前两个月的加起来, 然后再加上5天即本年的第几天,特殊情况,闰年且输入 月份大于3时需考...
  • LiuJiuXiaoShiTou
  • LiuJiuXiaoShiTou
  • 2016年11月28日 15:35
  • 3345

C语言实验——某年某月的天数

Problem Description 输入年和月,判断该月有几天? Input 输入年和月,格式为年\月。 Output 输出该月的天数。 Example Input 2009\1 Exa...
  • be_your_back
  • be_your_back
  • 2016年10月23日 16:03
  • 2849

C语言实现通过日期计算这是一年中的第几天

C语言实现通过日期计算这是一年中的第几天 用户通过输入具体的年月日,来计算这是一年中的第几天,具体代码如下: #include int DayofYear(int year, int mont...
  • m0_37888031
  • m0_37888031
  • 2017年09月07日 23:06
  • 444

C语言之计算某天为一年中第几天

C语言之计算某天为一年中第几天文章链接知识点 C语言实现计算出某天对应一年中的第几天 输入某年某月某日,判断这一天是这一年的第几天?程序分析:以5月21日为例,应该先把前5个月的加起来,然后再加上21...
  • qq_16628781
  • qq_16628781
  • 2017年05月21日 11:58
  • 861
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言-计算某日是该年的第几天
举报原因:
原因补充:

(最多只允许输入30个字)