练习一

请输入年份:”(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# 分支语句 练习题(中间变量,随机数)的更多相关文章

  1. C# 分支语句 练习题

    1.“请输入年份:”(1-9999) “请输入月份:”(1-12) “请输入日期:”(要判断大小月,判断闰年) 判断输入的时间日期是否正确 bool dateISOK = false;//放置日期是否 ...

  2. 运算符 与 分支语句:if ,else if,else;switch case

    分支语句: if        else if       else      :    switch          case --如何使用 if  else if  else: Console. ...

  3. 【2017-02-21】分支语句if...else...、分支嵌套、变量的作用域

    语句是指程序命令,都是按照顺序执行的. 语句又分为: 顺序语句:从上到下按顺序执行,挨个执行一遍. 分支语句:选择性执行语句,有的可能会执行,有的可能不执行.满足条件执行. 循环语句: 一.分支语句 ...

  4. 【2-23】分支语句(switch…case)及循环语句

    Switch-case分支语句与if语句作用相同,但需将情况都罗列出比较麻烦所以不常用. 其基本结构是: Switch(一个变量值) { Case 值1:要执行的代码段:break; Case 值2: ...

  5. C# 语句 分支语句 switch----case----.

    第二种分支语句  switch..case. switch(一个变量){ case 值:要执行的代码段;break; case 值:要执行的代码段;break; ... ... ... default ...

  6. C#语句 分支语句 if --- else ---

    语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为“控制流”或“执行流”. 根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同. 注意,语句间的标点符号必须是英文标点 ...

  7. 【2017-2-23】C#switch case分支语句,for循环语句

    switch case分支语句 switch(一个变量值) { case 值:要执行的代码段;break; case 值:要执行的代码段;break; … default:代码段;break;(def ...

  8. 【2017-2-21】C#分支语句,分支嵌套,变量的作用域

    分支语句 句式:if else(必须是if开头,可以是else if或者else结束,也可以直接结束) if(bool型比较表达式) { 如果上面的条件成立,则执行这里面的代码 } else if(b ...

  9. 关于c#分支语句和分支嵌套还有变量的作用域。

    分支语句: if....else if....else 必须以 if  开头 后面加括号写入需要判断的内容. 举个栗子说明一下 if (bool类型(比较表达式))  //  他会判断括号内的条件是否 ...

随机推荐

  1. 桌面应用开发之WPF页面导航

    先看效果图 Get Start   为了项目解耦,使用mvvmlight框架.MVVM设计模式请自行了解. 1 新建项目   新建一个MvvmLight(WPF)项目,删除其中无关文件夹:Design ...

  2. JVM--关于MinGC,FullGC

    一.Minor GC 发生在新生代上,因为新生代对象存活时间很短,因此 Minor GC 会频繁执行,执行的速度一般也会比较快,通过幸存区交换来处理 1.触发条件: 当创建对象时Eden区空间不够时触 ...

  3. windows 批处理语言学习

    程序员应该根植于心的一个理念是:重复的工作交给代码.windows上的批处理脚本就是这种理念的体现. 批处理bat能做的事很多,自动配置vs工程中的代码依赖环境,调用其它程序处理数据.自动编译代码等等 ...

  4. HSmartWindowControl 之 显示图像

    概述:使用Halcon在VS中的控件显示一张图片. 要点:使用了图像缩放和图像显示函数,以及鼠标滚轮响应函数. 1.创建WinForm项目 首先在VS中添加Halcon所需的控件HSmartWindo ...

  5. SQL注入的优化和绕过

    作者:Arizona 原文来自:https://bbs.ichunqiu.com/thread-43169-1-1.html 0×00 ~ 介绍 SQL注入毫无疑问是最危险的Web漏洞之一,因为我们将 ...

  6. 谷歌浏览器怎么FQ(一)(想使用谷歌浏览器应用商城的小伙伴这边看)

    谷歌浏览器的应用商城里本身有很多不错的扩展程序和插件,比如Wappalyzer(能够识别某个网站用的什么框架和库)广告终结者(能屏蔽大部分浮动,弹窗,甚至视频广告)等 但是谷歌因为某些原因需要FQ以后 ...

  7. shell if 条件判断

    condition='123' if [ -z condition]; then echo "condition 是空的" fi 字符串判断: = 两个字符串相等. != 两个字符 ...

  8. [Mac]如何让两个窗口各占半个屏幕

    OS X中的拆分视图El Capitan或更高版本允许您使用两个应用程序填充Mac屏幕,而无需手动移动和调整窗口大小. 进入拆分视图 按住 窗口左上角的全屏按钮  . 当您按住按钮时,窗口会缩小,您可 ...

  9. I2C软件调试思路并知识总结

    I2C是一种只使用两根线的串行通信协议.一根线是串行数据线SDA,另外一种是串行时钟线SCL. I²C允许相当大的工作电压范围,但典型的电压准位为+3.3V或+5v. I²C的参考设计使用一个7比特长 ...

  10. Testing - 软件测试知识梳理 - 测试阶段

    估算 测试对软件工作量的估算的准确性 测试评估软件系统的状况的准确性 关注点: 不准确的估算 不适当的开发过程 不真实的状态报告 如何知道对工作量的估算是正确的 估算工作量的工具很容易出错 对软件工作 ...