码迷,mamicode.com
首页 > 其他好文 > 详细

C程序设计 8.18 给出年、月、日,计算该日是该年的第几天。

时间:2017-07-30 12:48:14      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:uos   dao   dcl   ima   aaa   adl   lzw   ase   rtu   

相关知识点:

 

判断闰年一般的规律为: 四年一闰,百年不闰,四百年再闰.

其简单计算方法:

1.能被4整除而不能被100整除.(如2004年就是闰年,1800年不是.)

2.能被400整除.(如2000年是闰年)

另外,

2月:平年有28天,闰年有29天。

#include <stdio.h>

//leap==1是闰年,leap==0平年
int year,month,day,leap,num;
int main(){
    int leaper(int year);
    int summer();
    printf("input year, month, day:\n");
    scanf("%d%d%d", &year, &month, &day);
    leaper(year);
    num=summer();
    printf("该日期是该年的第%d天.\n",num);
    //printf("%d\n",leap);
    return 0;
}

//判断是否是闰年
int leaper(int year){
    if((year%4)==0 && (year%100)!=0)
        leap=1;
        else if(year%400 == 0) leap=1;
                else leap=0;
    return leap;
}

//计算该天是这年的第几天
int summer(){
    int sum=0,i;
    //平年每月的天数
    int mount[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    
        for(i=0; i<month-1; i++){
            sum +=mount[i];    
            }

    //闰年,并且月份大于2,总天数加1
    if(leap && month>=3) sum++;
    
    sum=sum+day;
    return sum;
}

结果:

技术分享

C程序设计 8.18 给出年、月、日,计算该日是该年的第几天。

标签:uos   dao   dcl   ima   aaa   adl   lzw   ase   rtu   

原文地址:http://www.cnblogs.com/Allen-win/p/7258549.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!