题目要求:输入年 月 日 则输出改天是该年的第多少天.

方法一: 最原始的

#include  < stdio.h >
void  main()
... {
    int a,b,c,sum,leap,flag=1;
    while(flag)
    ...{
    printf("请输入年、月、日(月份前请不要加0!!) ");
    scanf("%d%d%d",&a,&b,&c);
    if(a%4<0||b<=0||b>12||c<=0||c>31)
        printf("我跳起日啊!!你在搞毛!!想死了是吧,在乱来 ");
    else if((a%4==0&&a%100!=0)||(a%400==0))
    ...{
        switch(b)
        ...{
        case 1:sum=0;break;
        case 2:sum=31;break;
        case 3:sum=60;break;
        case 4:sum=91;break;
        case 5:sum=121;break;
        case 6:sum=152;break;
        case 7:sum=182;break;
        case 8:sum=213;break;
        case 9:sum=244;break;
        case 10: sum=274;break;
        case 11:sum=305;break;
        case 12:sum=335;break;
        }
    leap=sum+c;
    printf("您输入的是");
    printf("%d",a);
    printf("年的第%d天! ",sum);
    }
    else
    ...{
        switch(b)
        ...{
        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=275;break;
        case 11:sum=304;break;
        case 12:sum=334;break;
        }    
        leap=sum+c;
    printf("您输入的是");
    printf("%d",a);
    printf("年的第%d天! ",sum);
    }
    printf("continue or not(Y/N)? ");
    scanf("%c",&c);
    if(c=='y'||c=='Y')
        flag=0;
    }
}

方法2:优化一点点

#include  < stdio.h >
struct  
... {
    int day;
    int month;
    int year;
} date;

void  main()
... {
    int days;
    printf("input day month year: ");
    scanf("%d%d%d",&date.year,&date.month,&date.day);
    switch(date.month)
    ...{
    case 1:days=date.day;break;
    case 2:days=31+date.day;break;
    case 3:days=59+date.day;break;
    case 4:days=90+date.day;break;
    case 5:days=120+date.day;break;
    case 6:days=151+date.day;break;
    case 7:days=181+date.day;break;
    case 8:days=212+date.day;break;
    case 9:days=243+date.day;break;
    case 10:days=273+date.day;break;
    case 11:days=304+date.day;break;
    case 12:days=334+date.day;break;
    }
    if((date.year%4==0&&date.year%100!=0)||(date.year%400==0)&&date.month>=3)
        days=days+1;
    printf("%d ",days);
}

方法3:结构体

#include  < stdio.h >
struct
... {
    int day;
    int month;
    int year;
} date;

void  main()
... {
    int i,days=0;
    int day_lib[13]=...{0,31,28,31,30,31,30,31,31,30,31,30,31};
    printf("input year month day: ");
        scanf("%d%d%d",&date.year,&date.month,&date.day);
    for(i=0;i<date.month;i++)
        days=days+day_lib[i];
    days=days+date.day;
    if((date.year%4==0&&date.year%100!=0)||(date.year%400==0)&&date.month>=3)
        days=days+1;
    printf("%d ",days);
}

查询日期是该年的多少天相关推荐

  1. R语言使用lubridate包的tz函数设置和查询日期、时间对象的时区信息( time zone)

    R语言使用lubridate包的tz函数设置和查询日期.时间对象的时区信息( time zone) 目录

  2. Mybatis查询日期范围

    查询日期范围 将日期时间,转换为字符串 select s.* from BIZ_ASSAY_ORDER_SAMPLE s LEFT JOIN BIZ_ASSAY_ORDER o on o.ID=s.O ...

  3. mysql查询数据库日期_mysql如何查询日期与时间

    前言: 在项目开发中,一些业务表字段经常使用日期和时间类型,而且后续还会牵涉到这类字段的查询.关于日期及时间的查询等各类需求也很多,本篇文章简单讲讲日期及时间字段的规范化查询方法. 1.日期和时间类型 ...

  4. oracle获取今天凌晨的时间_oracle查询日期语句有哪些?

    oracle查询日期语句有:1.取得当前日期是本月的第几周,代码为[select to_char(sysdate,'W')]:2.取得当前日期是一个星期中的第几天,代码为[select sysdate ...

  5. 16种oracle查询日期语句

    查询日期是使用oracle数据库过程中经常要遇到的操作,下文列举了一些oracle查询日期语句的例子,如果您感兴趣的话,不妨一看. oracle查询日期语句在我们使用数据库过程中是经常要用到的,下面就 ...

  6. mysql判断范围0到10 11到20_SQL 如何查询日期在一定范围内的数据

    展开全部 select * from 表32313133353236313431303231363533e78988e69d8331333365666163 where 日期字段>='开始日期' ...

  7. mysql查询日期格式_mysql 日期格式化查询

    需求 查询日期的某个时段的内容,比如每天的某个时段.每月的某天.等,综合来讲就是灵活的对日期的某个值进行查询 实现 SELECT * FROM yc_cdr AS c WHERE DATE_FORMA ...

  8. mysql返回指定时间格式_【MySQL】查询日期返回指定格式

    查询日期返回固定格式 SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') AS nowDate FROM table_name // 2020-09-25 2 ...

  9. NVL函数,NVL2函数的使用,查询日期天数

    NVL函数 作用:判断某个值是否为空值,若不为空值则输出,若为空值,返回指定值. 详细解释如下: 1.nvl()函数的格式如下: NVL(expr1,expr2); 2.含义是:如果oracle第一个 ...

  10. java获取下周一_Java 根据查询日期,获取下周一、周日的日期

    根据查询日期,获取下周一.周日的日期 private Map getNextWeek(String queryDate) throws ParseException{ Map dateMap = ne ...

最新文章

  1. node.js学习笔记之promise
  2. android组件浮动在activity上_Jetpack Hilt 依赖注入框架上手指南
  3. 我应该如何处理MySQL中的--secure-file-priv?
  4. Mongodb 自动增长 自增id 实现
  5. python数据结构练习
  6. 操作系统进程(作业)调度常见算法详解
  7. Verilog HDL中位运算符、逻辑运算符和缩减运算符的区别
  8. html文件设置ftp6,vsftp的安装与配置
  9. linux 双网卡 debian,Debian 双网卡bond
  10. Bootstrap3 列表元素的样式
  11. python软件测试面试题及答案_软件测试面试 | 一道大厂算法面试真题,你能答上来吗?(附答案)...
  12. python大列表_Python列表操作大全(非常全)
  13. c语言控制科学计数法指数位数,控制科学计数法的指数位数
  14. Maven 指定 Java 编译版本
  15. PTA L1-016 查验身份证(15分)
  16. 用C#去读取陀螺仪姿态角度传感器JY61的串口数据
  17. 社区计算机知识,社区公共基础知识备考指导——计算机知识
  18. AES加密 C++调用Crypto++加密库 例子
  19. 计算机中文输入法教案,中文输入教学设计.doc
  20. JAVA 语言程序设计与数据结构 教材课本源码 和 课后习题答案

热门文章

  1. 中国天气通android版,中国天气通(全国天气实时查询)
  2. js打开新窗口,js打开居中窗口,js打开自定义窗口
  3. [2019年]研究生数学建模竞赛
  4. iOS 手势的使用 六个手势 轻拍 长按 拖拽 捏合 轻扫 旋转
  5. KITTI数据集转化为.bag形式
  6. 移动网络打不开香港服务器网站,移动宽带打不开网站怎么办
  7. ADS仿真3_双枝短截线匹配电路设计
  8. Visual Studio Code(code)修改背景图片
  9. Linux QT下实现简易虚拟键盘
  10. AVOD论文和代码解析