• C语言经典算法100例-004-年月日判断是年份的第几天


    题目如下:

    输入某年某月某日,判断这一天是这一年的第几天?

    1.分析问题:基本算法为之前月份的天数和加当前天,例如3月8日,需要用1,2月份的总天数加8。 但要考虑特殊情况,如果是闰年,那么2月不再是28天,而是29天,此时如果月份大于2,那么之前月份的天数和则应加1才对。

    2.源代码:

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int year,month,day;
        int sum;
        int leap;
        printf("Please input the date(Like 1990-10-22)!
    ");
        scanf("%d-%d-%d",&year,&month,&day);
    
        switch(month)
        {
        case 1:
            sum=0;
            break;
        case 2:
            sum=31;
            break;
        case 3:
            sum=59;
            break;
        case 4:
            sum=90;
            break;
        case 5:
            sum=120;
            break;
        case 6:
            sum=151;
            break;
        case 7:
            sum=181;
            break;
        case 8:
            sum=212;
            break;
        case 9:
            sum=243;
            break;
        case 10:
            sum=273;
            break;
        case 11:
            sum=304;
            break;
        case 12:
            sum=334;
            break;
        default:
            printf("Data error
    ");
            return 0;
            break;
        }
        sum+=day;
        leap=year%400==0||(year%4==0&&year%100!=0)?1:0;     //判断是否为闰年 四年一闰;百年不闰,四百年再闰
        sum+=leap==1&&month>2?1:0;                          //是闰年且月份大于2的需要加一天
        printf("This is %d the %dth day!
    ",year,sum);
        return 0;
    }


  • 相关阅读:
    python js(JavaScript)初识
    python css盒子型 浮动
    12、液化
    11、高斯模糊—晶格化
    10、形状工具—渐变图标
    9、形状工具—雪糕
    8、形状工具—制作简单立体效果
    7、形状工具
    6、自由变换—再复制功能
    第三章-17、消息聊天界面
  • 原文地址:https://www.cnblogs.com/mrbourne/p/9959518.html
Copyright © 2020-2023  润新知