C++中的switch case 语句
在接触流程控制语句switch case的时候,感觉这个很有意思,就花了点时间去慢慢的去深入了解它,并且和if语句一起嵌套使用,就找了个题目来练练手,
这个就是通过输入年份和月份,来判断年份是否为闰年,并且可以知道你输入的月份有多少天。
#include <iostream>
using namespace std;
void main(){
int year, month, mon;cout << "请输入年份和月份,并用空格隔开" << endl;cin >> year >> month; if (month < 1 || month>12){cout << "你输入的月份不正确!!!" << endl;}else {if ((year % 4 == 0 && year % 100 != 0) || year % 100 == 0){mon = 1;cout << "你输入的年份是闰年。" << endl;}else{mon = 2;cout << "你输入的年份为普通年。" << endl;}}switch (month){case 1:cout << "你输入的一月份共有31天"; break;case 2:if (mon==1){cout << "你输入的二月份共有29天";}else{cout << "你输入的二月份共有28天";}; break;case 3:cout << "你输入的三月份共有31天" << endl; break;case 4:cout << "你输入的四月份共有30天" << endl; break;case 5:cout << "你输入的五月份共有31天" << endl; break;case 6:cout << "你输入的六月份共有30天" << endl; break;case 7:cout << "你输入的七月份共有31天" << endl; break;case 8:cout << "你输入的八月份共有31天" << endl; break;case 9:cout << "你输入的九月份共有30天" << endl; break;case 10:cout << "你输入的十月份共有31天" << endl; break;case 11:cout << "你输入的十一月份共有30天" << endl; break;case 12:cout << "你输入的十二月份共有31天" << endl; break;default:cout << "输入有误!" << endl;break;}
}
这个题目虽然说不是很难,可是也费了我不少的心神去弄,其实我并不是很清楚润年和平年是怎么的来的,无奈只有找了下度娘,得知
普通年(不能被100整除的年份)能被4整除的为闰年。(如2004年就是闰年, 1999年不是闰年);
世纪年(能被100整除的年份)能被400整除的是闰年。(如2000年是闰年,1900年不是闰年);
知道恍然大悟,为什么呢,因为闰年和普通年不同的地方在二月份,只要这里能够判断好,那么思路就很清晰了,就慢慢的摸索了出来,只是感觉这个代码太过于多了,应该还是可以进一步优化的。
C++中的switch case 语句相关推荐
- java的case_java中的switch case语句使用详解
java中的switch case语句 switch-case语句格式如下: switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; .. ...
- java中switchcase用法,java中的switch case语句使用详解
java中的switch case语句 switch-case语句格式如下: ? swtich()变量类型只能是int.short.char.byte和enum类型(JDK 1.7 之后,类型也可以是 ...
- java switch case语句_在Java中使用switch Case语句的例子
当我们有多个选项,并且需要为每个选项执行不同的任务时,就需要使用Switch case语句. Switch case语句的语法如下-switch (variable or an integer exp ...
- java里面case是什么意思_什么是Java中的switch case语句以及如何使用它?
switch 语句允许根据值列表测试变量是否相等.每个值被称为一个case,并针对每个case检查正在打开的变量. 语法switch(expression) { case value : //声明 b ...
- c语言case的值能动态修改吗,java中的switch case语句中,case所对应的数目是不确定的,能否动态改变case...
现在方法中传入的menuList的数目是不确定的,每个menuList.get(i),都对应一个runnableList.get(i).现在需要根据menuList.size()动态改变case的数目 ...
- SQL中的条件语句case-when-then-else(就像C中的switch case语句)
select u_id , u_name , u_score ,case when u_score >= 65.45 then '优秀'when u_score >=60 and u_sc ...
- java break在switch_java中switch case语句需要加入break的原因解析
java中switch case语句需要加入break的原因解析 java 中使用switch case语句需要加入break 做了具体的实例分析,及编译源码,在源码中分析应该如何使用,大家可以参考下 ...
- python中的switch语句_python技巧 switch case语句
不同于C语言和SHELL,python中没有switch case语句,关于为什么没有,官方的解释是这样的 使用Python模拟实现的方法: def switch_if(fun, x, y): if ...
- python中的case语句_python技巧 switch case语句
不同于C语言和SHELL,python中没有switch case语句,关于为什么没有,官方的解释是这样的 使用Python模拟实现的方法: def switch_if(fun, x, y): if ...
最新文章
- pycharm代码自动补全功能
- java access 分页查询语句,简单又高效的Access分页语句
- Linux ubuntu中怎么生成随机数,随机数的生成
- 线性表(二)——链表
- DL之Yolov3:基于深度学习Yolov3算法实现视频目标检测之对《我要打篮球》视频段进行实时目标检测
- javaScript解决Form的嵌套
- 01.elasticsearch-mapping全面解析
- HttpMate简介
- JSF开发人员应该知道的5种有用方法
- SQL 查询--日期条件(今日、昨日、本周、本月。。。) (转)
- svn增量打包部署_实现Jenkins+svn+bat批处理构建svn版本差异增量的自动化打zip包
- 【python】从web抓取信息
- win7开机动画_分享win7开机画面修改方法
- 浅谈管理软件的功能与作用-—以Nvisual综合布线可视化运维管理平台和进销存管理软件为例
- 知识分享|日本面试常考问题+巧妙回答 ②
- 推荐:详解AI加速器(最终篇)
- 订阅号助手android,微信订阅号助手app
- 独孤求败——浅谈FireFox中file控件不能取到客户端文件的完整路径的问题
- Python爬虫入门之查询ip地址
- 开发系统所需的服务器,开发软件的服务器需要什么配置