C# 分支语句 练习题(中间变量,随机数)
练习一
请输入年份:”(1-9999),请输入月份:”(1-12),请输入日期(要判断大小月,判断闰年),判断输入的时间日期是否正确。
计算输入的时间是当前这一年的第几天。
bool dateISOK = false;//放置日期是否正确的判断
bool isRN = false;//放置是否是闰年的判断
int year = ;
int month = ;
int day = ;
//判断年份是否正确
Console.Write("请输入年份:");
year = Convert.ToInt32(Console.ReadLine());
if (year >= && year <= )
{
if ((year % == && year % != ) || year % == )
{
isRN = true;
}
//判断月份是否正确
Console.Write("年份输入正确,请输入月份:");
month = Convert.ToInt32(Console.ReadLine());
if (month > && month < )
{
Console.Write("月份输入正确,请输入日期:");
//判断日期是否正确
day = Convert.ToInt32(Console.ReadLine());
if (month == || month == || month == || month == || month == || month == || month == )
{
if (day >= && day <= )
{
Console.WriteLine("输入的全部日期正确!");
dateISOK = true;
}
else
{
Console.WriteLine("输入的日期有误!");
}
}
if (month == || month == || month == || month == )
{
if (day >= && day <= )
{
Console.WriteLine("输入的全部日期正确!");
dateISOK = true;
}
else
{
Console.WriteLine("输入的日期有误!");
}
}
else if (month == )
{
if ((year % == && year % != ) || year % == )
{
if (day >= && day <= )
{
Console.WriteLine("输入的全部日期正确!");
dateISOK = true;
}
else
{
Console.WriteLine("输入的日期有误!");
}
}
else
{
if (day >= && day <= )
{
Console.WriteLine("输入的全部日期正确!");
dateISOK = true;
}
else
{
Console.WriteLine("输入的日期有误!不是闰年2月最多28天");
}
}
}
}
else
{
Console.WriteLine("输入的月份有误!");
}
}
else
{
Console.WriteLine("输入的年份有误!");
} //如果日期都正确,我们开始计算第几天
if (dateISOK == true)
{
int count = ;
int m1 = , m2 = , m3 = , m4 = , m5 = , m6 = , m7 = , m8 = , m9 = , m10 = , m11 = , m12 = ; if (month == )
count = day;
if (month == )
count = m1 + day;
if (month == )
{
if (isRN == true)
count = m1 + m2 + + day;
else
count = m1 + m2 + day;
}
if (month == )
{
if (isRN == true)
count = m1 + m2 + + m3 + day;
else
count = m1 + m2 + m3 + day;
}
if (month == )
{
if (isRN == true)
count = m1 + m2 + + m3 + m4 + day;
else
count = m1 + m2 + m3 + m4 + day;
}
Console.WriteLine(year + "年" + month + "月" + day + "日是此年的第" + count + "天");
}
Console.ReadLine();
注意此方案中间变量的使用,
bool b =false;假设结果默认错误,
在if 中计算的结果可分为两种 false true
结果正确时 b = true;(赋值) 结果错误时默认
在后面执行运算时可直接引用 if ( b==true )
练习二
猜拳
请输入您的手势(石头/剪子/包袱),用户赢了” “电脑赢了” “平局”
猜拳将用户的手势和电脑的手势输出出来
#region 手势生成
Console.Write("请输入您的手势(石头、剪刀、包袱):");
string user = Console.ReadLine();
int user1; if (user == "石头")
user1 = ;
else if (user == "剪刀")
user1 = ;
else
user1 = ; Random r = new Random();
int com = r.Next(, );
#endregion #region 输出两位选手的手势
string comEnd = ""; if (user != "剪刀" && user != "石头")
{
user = "包袱";
} if (com == )
comEnd = "石头";
else if (com == )
comEnd = "剪刀";
else
comEnd = "包袱"; Console.WriteLine("用户手势:" + user + "\t电脑手势:" + comEnd);
#endregion #region 胜负判断
if ((user1 == && com == ) || (user1 == && com == ) || (user1 == && com == ))
{
Console.WriteLine("用户胜利!");
}
else if ((user1 == && com == ) || (user1 == && com == ) || (user1 == && com == ))
{
Console.WriteLine("用户失败!");
}
else
{
Console.WriteLine("平局!");
}
#endregion Console.ReadLine();
此案例应注意的是随机数的使用和把随机变量转换成字符串输出。
C# 分支语句 练习题(中间变量,随机数)的更多相关文章
- C# 分支语句 练习题
1.“请输入年份:”(1-9999) “请输入月份:”(1-12) “请输入日期:”(要判断大小月,判断闰年) 判断输入的时间日期是否正确 bool dateISOK = false;//放置日期是否 ...
- 运算符 与 分支语句:if ,else if,else;switch case
分支语句: if else if else : switch case --如何使用 if else if else: Console. ...
- 【2017-02-21】分支语句if...else...、分支嵌套、变量的作用域
语句是指程序命令,都是按照顺序执行的. 语句又分为: 顺序语句:从上到下按顺序执行,挨个执行一遍. 分支语句:选择性执行语句,有的可能会执行,有的可能不执行.满足条件执行. 循环语句: 一.分支语句 ...
- 【2-23】分支语句(switch…case)及循环语句
Switch-case分支语句与if语句作用相同,但需将情况都罗列出比较麻烦所以不常用. 其基本结构是: Switch(一个变量值) { Case 值1:要执行的代码段:break; Case 值2: ...
- C# 语句 分支语句 switch----case----.
第二种分支语句 switch..case. switch(一个变量){ case 值:要执行的代码段;break; case 值:要执行的代码段;break; ... ... ... default ...
- C#语句 分支语句 if --- else ---
语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为“控制流”或“执行流”. 根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同. 注意,语句间的标点符号必须是英文标点 ...
- 【2017-2-23】C#switch case分支语句,for循环语句
switch case分支语句 switch(一个变量值) { case 值:要执行的代码段;break; case 值:要执行的代码段;break; … default:代码段;break;(def ...
- 【2017-2-21】C#分支语句,分支嵌套,变量的作用域
分支语句 句式:if else(必须是if开头,可以是else if或者else结束,也可以直接结束) if(bool型比较表达式) { 如果上面的条件成立,则执行这里面的代码 } else if(b ...
- 关于c#分支语句和分支嵌套还有变量的作用域。
分支语句: if....else if....else 必须以 if 开头 后面加括号写入需要判断的内容. 举个栗子说明一下 if (bool类型(比较表达式)) // 他会判断括号内的条件是否 ...
随机推荐
- 桌面应用开发之WPF页面导航
先看效果图 Get Start 为了项目解耦,使用mvvmlight框架.MVVM设计模式请自行了解. 1 新建项目 新建一个MvvmLight(WPF)项目,删除其中无关文件夹:Design ...
- JVM--关于MinGC,FullGC
一.Minor GC 发生在新生代上,因为新生代对象存活时间很短,因此 Minor GC 会频繁执行,执行的速度一般也会比较快,通过幸存区交换来处理 1.触发条件: 当创建对象时Eden区空间不够时触 ...
- windows 批处理语言学习
程序员应该根植于心的一个理念是:重复的工作交给代码.windows上的批处理脚本就是这种理念的体现. 批处理bat能做的事很多,自动配置vs工程中的代码依赖环境,调用其它程序处理数据.自动编译代码等等 ...
- HSmartWindowControl 之 显示图像
概述:使用Halcon在VS中的控件显示一张图片. 要点:使用了图像缩放和图像显示函数,以及鼠标滚轮响应函数. 1.创建WinForm项目 首先在VS中添加Halcon所需的控件HSmartWindo ...
- SQL注入的优化和绕过
作者:Arizona 原文来自:https://bbs.ichunqiu.com/thread-43169-1-1.html 0×00 ~ 介绍 SQL注入毫无疑问是最危险的Web漏洞之一,因为我们将 ...
- 谷歌浏览器怎么FQ(一)(想使用谷歌浏览器应用商城的小伙伴这边看)
谷歌浏览器的应用商城里本身有很多不错的扩展程序和插件,比如Wappalyzer(能够识别某个网站用的什么框架和库)广告终结者(能屏蔽大部分浮动,弹窗,甚至视频广告)等 但是谷歌因为某些原因需要FQ以后 ...
- shell if 条件判断
condition='123' if [ -z condition]; then echo "condition 是空的" fi 字符串判断: = 两个字符串相等. != 两个字符 ...
- [Mac]如何让两个窗口各占半个屏幕
OS X中的拆分视图El Capitan或更高版本允许您使用两个应用程序填充Mac屏幕,而无需手动移动和调整窗口大小. 进入拆分视图 按住 窗口左上角的全屏按钮 . 当您按住按钮时,窗口会缩小,您可 ...
- I2C软件调试思路并知识总结
I2C是一种只使用两根线的串行通信协议.一根线是串行数据线SDA,另外一种是串行时钟线SCL. I²C允许相当大的工作电压范围,但典型的电压准位为+3.3V或+5v. I²C的参考设计使用一个7比特长 ...
- Testing - 软件测试知识梳理 - 测试阶段
估算 测试对软件工作量的估算的准确性 测试评估软件系统的状况的准确性 关注点: 不准确的估算 不适当的开发过程 不真实的状态报告 如何知道对工作量的估算是正确的 估算工作量的工具很容易出错 对软件工作 ...