3.08课·········switch case及if else嵌套(日期格式)
switch case
switch (n)
{
case :
break;
case :
break;
.
.
.
case n:
break;
}
1、switch case必须与break一同使用,每一个case后面都有一个break.
2、switch后面的()不能接收小数类型的值
3、break是跳转语句,与switch case连用的时候是跳出最近的{}。
4、switch case多用于年月日的计算。
分别输入月份 几号 输出是今年的第多少天
每年的1 3 5 7 8 10 12月是31天
今年的2月是28天
其他的4 6 9 11是30天
int m1 = , m2 = , m3 = , m4 = , m5 = , m6 = ,
m7 = , m8 = , m9 = , m10 = , m11 = ;//分别定义每个月的天数,12月份只需加上前面11个月的天数即可,不需定义 Console.Write("请输入月份:");
int m = int.Parse(Console.ReadLine());
Console.Write("请输入几号:");
int d = int.Parse(Console.ReadLine());
if ((m >= && m <= ) && (d >= && d <= ))
{
switch (m)
{
case :
Console.WriteLine("第" + d + "天");
break;
case :
Console.WriteLine("第" + (m1 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d) + "天");
break;
case :
Console.WriteLine("第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d) + "天");
break;
default:
Console.WriteLine("您的输入有误!");
break;
}
}
else
{
Console.WriteLine("您的输入有误!");
}
Console.ReadLine();
输入一个年份,判断是否是闰年//普通年份是4的倍数但不能是100的倍数
//世纪年需要是400的倍数
Console.Write("请输入年份:");
int year=int.Parse(Console.ReadLine()); if((year%==&&year%!=)||year %==)
{
Console.WriteLine("您输入的是闰年");
}
else
{
Console.WriteLine("您输入的是平年");
} } Console.ReadLine();
输入年月日,看格式是不是正确(利用if else嵌套)
其思维导图如下:
Console.Write("请输入年份:");
int y = int.Parse(Console.ReadLine());
if(y>=&&y<=)
{
Console.Write("请输入月份:");
int m = int.Parse(Console.ReadLine());
if(m>=&&m<=)
{
Console.Write("请输入日期:");
int d = int.Parse(Console.ReadLine());
if(d>=&&d<=)
{
if(m==||m==||m==||m==||m==||m==||m==)
{
Console.WriteLine("您输入的日期格式正确:"+y+"-"+m+"-"+d);
}
else if (m == || m == || m == || m == )
{
if (d <= )
{
Console.WriteLine("您输入的日期格式正确:" + y + "-" + m + "-" + d);
}
else
{
Console.WriteLine("您输入的日期格式有误!");
}
}
else//剩下的2月份
{
if ((y % == && y % != ) || y % == )//年份是闰年
{
if (d <= )
{
Console.WriteLine("您输入的日期格式正确:" + y + "-" + m + "-" + d);
} else
{
Console.WriteLine("您输入的日期格式有误!");
} }
else//不是闰年,是平年
{
if (d <= )
{
Console.WriteLine("您输入的日期格式正确:" + y + "-" + m + "-" + d);
}
else
{
Console.WriteLine("您输入的日期格式有误!");
}
}
} }
else
{
Console.WriteLine("您输入的日期格式有误!");
}
}
else
{
Console.WriteLine("您输入的月份格式有误!");
} }
else
{
Console.WriteLine("您输入的年份格式有误!"); }
Console.ReadLine();
3.08课·········switch case及if else嵌套(日期格式)的更多相关文章
- 为什么switch...case语句比if...else执行效率高
在C语言中,教科书告诉我们switch...case...语句比if...else if...else执行效率要高,但这到底是为什么呢?本文尝试从汇编的角度予以分析并揭晓其中的奥秘. 第一步,写一个d ...
- 10-14C#基础--语句(switch....case和for...循环)
10-14C#基础--语句(2) 一.课前作业:“跟电脑猜拳” 二.switch(定义的变量,参数值)......case.... 注:switch...case大多用于值类型的判断,这里不同于if表 ...
- Android Studio快捷键switch case 轻松转换为if else
Android Studio快捷键switch case 轻松转换为if else 今天碰到的问题,没有找到资料,后面找到了方法,这个记下来,转载请注明出处:http://www.cnblogs.co ...
- java中的switch case
switch-case语句格式如下 switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; ... case default: //... ...
- 为什么说在使用多条件判断时switch case语句比if语句效率高?
在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...
- c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式 2.BOOL(布尔)数据类型: c语言中除了基本数 ...
- 运算符 与 分支语句:if ,else if,else;switch case
分支语句: if else if else : switch case --如何使用 if else if else: Console. ...
- switch...case和if...else if的判断应用
判断成绩所属等级的 两种方法 1... switch...case方法: #include<stdio.h> int main(void) { ;i <= ;++i) // ...
- go语言选择语句 switch case
根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...
随机推荐
- c语言用rand() 函数,实现random(int m)
函数rand()是真正的随机数生成器.而srand()会设置供rand()使用的随机数种子. 假设你在第一次调用rand()之前没有调用srand(),那么系统会为你自己主动调用srand(). 注意 ...
- uva 12627 - Erratic Expansion(递归求解)
递归的边界条件写的多了--不是必需写呢么多的.. 不明确可共同探讨~ #include<cstdio> #include<iostream> #include<cmath ...
- POJ 3687:Labeling Balls(优先队列+拓扑排序)
id=3687">Labeling Balls Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10178 Acc ...
- c#利用委托传递函数参数(1)
本次旨在解决 同参不同名 的函数作为参数传递的情况 情景: 一下两个函数分别多次重复调用了两个同参不同名的函数(实际上总共有3个这样的函数),函数结构基本相同,只有调用的函数名不一样,显然可以整合在一 ...
- Tomcat + Spring MVC + HttpClient:怎样使用PUT和PATCH方法传递数据
在RESTful风格的API中.PUT/PATCH方法一般用于更新数据.在项目的代码中,使用的是HttpClient 4.5,是这样写的: protected JSONObject doHttpUri ...
- 关于CDN对动态网站加速的一些看法
CDN的全称是Content Delivery Network,即内容分发网络.其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘" ...
- 官方教程Stealth学习笔记(一)
今天開始要更新官方教程stealth的学习笔记啦, 我将会记录和解说一个小游戏基本的流程和关键地方的技巧. 我会依照官方教程的顺序来更新. ...
- 实现Nullable 可空类型
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace demo ...
- Android Camera子系统之源码View
本文基于Android 4.2.2+Linux3.6.9+SAMA5D3 SoC从源码的角度审视Android Camera子系统. 应用层 Androd原生Camera应用 /system/app/ ...
- Trie树学习
这几天在看Hadoop的排序,用到了有TotalSortPartition,其中用到了一种叫做trie树的数据结构,每次看到这种自己之前没有听过的数据结构就想去看一下原理,然后再网上看几篇博客,有时间 ...