C语言算法题--平年闰年问题

  • 概念
  • 一、平年、闰年的判断
  • 二、给出年、月、日,判断日期是否存在

概念


 平年与闰年!!!(闰年比平年多一天,闰年二月29天,平年28天)
   1. 普通闰年: 能被4整除,且不能被100整除为闰年。
   2. 世纪闰年: 能被400整除为闰年。


一、平年、闰年的判断


  题目:输入一个不大于 3000 的年份,判断其是否为 “ 闰年 ”.


   程序框图:

  程序示例:

#include <stdio.h>int main() {int year;// 从用户处获得一个不大于 3000 的年份scanf("%d", &year);if( (year % 100 != 0 && year % 4 == 0) || year % 400 == 0 ){printf("YES");} else {printf("NO");}  return 0;
}

二、给出年、月、日,判断日期是否存在


   题目: 测试程序将随机给你一个格式为-连接了年、月、日的日期字符串(其中的数字都是没有前导零的,也就是说7不会被写成07)。你将需要判断这个日期在我们的公历体系内是否真实存在。如果存在则输出YES,否则输出NO(注意输出的字母都一定是大写字母)。
测试程序给出的测试输入数据中,年、月、日都是正整数(也就是大于零的整数),均不大于 3000。

  程序示例:

#include <stdio.h>int main ()
{int year;int month;int day;scanf("%d-%d-%d", &year, &month, &day);if(month < 13){if( (year % 100 != 0 && year % 4 == 0) || year % 400 == 0 ){if(month == 2)   //闰年特殊二月判断{if(day <=29)   //闰年二月最多29天{printf("YES");} else {printf("NO");}} else if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){if(day <= 31){printf("YES");} else{printf("NO");}} else {if(day <= 30){printf("YES");} else{printf("NO");}}} else {if(month == 2)   //平年特殊二月判断{if(day <=28)   //平年二月最多28天{printf("YES");} else {printf("NO");}} else if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){if(day <= 31){printf("YES");} else{printf("NO");}} else {if(day <= 30){printf("YES");} else{printf("NO");}}}} else{printf("NO");  }return 0;
}

每日一练———C语言算法题--平年闰年问题相关推荐

  1. c语言编程每日一练教程,每日一练 | C语言之指针

    原标题:每日一练 | C语言之指针 练习导言 学习 C 语言的指针既简单又有趣.通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的.所以,想要成为一名优秀的 ...

  2. 「 每日一练,快乐水题 」2016. 增量元素之间的最大差值

    文章目录 ✅力扣原题: ✅题目简述: ✅解题思路: ✅C++代码: ✅结果展示: ✅力扣原题: 力扣链接:2016. 增量元素之间的最大差值 ✅题目简述: 给你一个下标从 0 开始的整数数组 nums ...

  3. 「 每日一练,快乐水题 」917. 仅仅反转字母

    ✅力扣原题: 力扣链接:917. 仅仅反转字母 ✅题目简述: 给你一个字符串 s ,根据下述规则反转字符串: 所有非英文字母保留在原有位置. 所有英文字母(小写或大写)位置反转. 返回反转后的 s . ...

  4. 「 每日一练,快乐水题 」717. 1比特与2比特字符

    ✅力扣原题: 力扣链接:717. 1比特与2比特字符 ✅题目简述: 有两种特殊字符: 第一种字符可以用一个比特 0 来表示 第二种字符可以用两个比特(10 或 11)来表示. 给定一个以 0 结尾的二 ...

  5. 「 每日一练,快乐水题 」1791. 找出星型图的中心节点

    ✅力扣原题: 力扣链接:1791. 找出星型图的中心节点 ✅题目简述: 有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成.星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点 ...

  6. 「 每日一练,快乐水题 」540. 有序数组中的单一元素

    ✅力扣原题: 力扣链接:540. 有序数组中的单一元素 ✅题目简述: 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次. 请你找出并返回只出现一次的那个数. 你设计的解 ...

  7. 「 每日一练,快乐水题 」1189. “气球” 的最大数量

    ✅力扣原题: 力扣链接:1189. "气球" 的最大数量 ✅题目简述: 给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon&q ...

  8. 「 每日一练,快乐水题 」1984. 学生分数的最小差值

    ✅力扣原题: 力扣链接:1984. 学生分数的最小差值 ✅题目简述: 给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数.另给你一个整数 k . 从数组 ...

  9. 「 每日一练,快乐水题 」2006. 差的绝对值为 K 的数对数目

    ✅力扣原题: 力扣链接:2006. 差的绝对值为 K 的数对数目 ✅题目简述: 给你一个整数数组 nums 和一个整数 k ,请你返回数对 (i, j) 的数目,满足 i < j 且 |nums ...

最新文章

  1. 分享Kali Linux 2016.2第49周镜像文件
  2. 网络数据库的复制和同步(转摘)
  3. hihoCoder #1104 Suzhou Adventure
  4. ubuntu 设置 时区 更新时间
  5. 3_03 蛇形填数(数组)
  6. vsan主机高级优化参数配置
  7. 移动前端开发之viewport的深入理解(转)
  8. Web---演示Servlet的相关类、下载技术、线程问题、自定义404页面
  9. java Jre和Jdk的区别
  10. 【2021-02】实时获取百度搜索词接口
  11. 判断推理---逻辑判断
  12. UA MATH563 概率论的数学基础 鞅论初步3 条件期望的性质
  13. Windows无法解压文件-potentially harmful
  14. 我的jQuery学习之路(笔记)——四
  15. 基于深度学习的推荐系统
  16. 北京科技大学本科毕业论文答辩和论文选题PPT模板
  17. iOS开发之Unity游戏在iOS平台运行调研(踩坑)
  18. CentOS7 搭建 DNS 域名解析服务器
  19. 在WPS使用NoteExpress完成论文的思路
  20. 时间片轮转调度 java_操作系统- 实验一  模拟处理机调度的时间片轮转法(Java实现)...

热门文章

  1. 电脑自带的放大镜 vs Zoomit
  2. 嗜血法医第八季/全集Dexter 8迅雷下载
  3. halcon角平分线,函数封装
  4. 【最强眼力山寨版】钛合金眼神的试炼
  5. 在线点餐外卖系统 毕业设计毕业论文参考(3)后台管理功能
  6. 【问题总结(12)】Cascader 省市区联动 obj[] Object.key() some.() String() forEach() 数组筛选过滤filter
  7. Unity 知识点小结
  8. js登录特效+ajax提交表单+异步刷新验证
  9. 华师大c语言平时作业答案,华师大-数据库系统概论-平时作业.doc
  10. 深度学习之强化学习(1)强化学习案例