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类型(比较表达式)) // 他会判断括号内的条件是否 ...
随机推荐
- GitHub--创建新的分支(转)
如何在 GitHub 的项目中创建一个分支呢? 其实很简单啦,直接点击 Branch,然后在弹出的文本框中添加自己的 Branch Name 然后点击蓝色的Create branch就可以了,这样一来 ...
- 【慕课网实战】Spark Streaming实时流处理项目实战笔记十四之铭文升级版
铭文一级: 第11章 Spark Streaming整合Flume&Kafka打造通用流处理基础 streaming.conf agent1.sources=avro-sourceagent1 ...
- 题解 luogu P1144 【最短路计数】
本蒟蒻也来发一次题解第一篇请见谅 这个题有几个要点 1.无向无权图,建图的时候别忘记建来回的有向边[因此WA掉1次 2.无权嘛,那么边长建成1就好了2333333 3.最短路采用迪杰斯特拉(别忘用堆优 ...
- ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64)
ASP.NET Core 简单实现七牛图片上传(FormData 和 Base64) 七牛图片上传 SDK(.NET 版本):https://developer.qiniu.com/kodo/sdk/ ...
- FFmpeg原始帧处理-滤镜API用法详解
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10429145.html 在FFmpeg中,滤镜(filter)处理的是未压缩的原始音视频 ...
- 三种定义bean的方式
方法一:基于XML的bean定义(需要提供setter方法) 1.首先编写student.java和teacher.java两个类 Student.java: public class Student ...
- 人工智能必须要知道的语义分割模型:DeepLabv3+
图像分割是计算机视觉中除了分类和检测外的另一项基本任务,它意味着要将图片根据内容分割成不同的块.相比图像分类和检测,分割是一项更精细的工作,因为需要对每个像素点分类,如下图的街景分割,由于对每个像素点 ...
- Redis 客户端命令总结
注意:括号里是参数,具体使用的时候不需要括号和逗号,直接使用空格分隔命令以及各个参数即可. 1.对Key操作的命令 exists(key):确认一个key是否存在.存在返回1,不存在返回0. del( ...
- markdown上下左右,跳至行尾行首,重设快捷键
概述 用markdown输入代码的时候觉得下面2件事非常不方便: (1)光标上下左右.(需要挪动手去按方向键) (2)光标跳至行尾和行首.(需要动手去按Home和End键) 为了简化,我特地更改了ST ...
- 什么是Spring Boot?
什么是Spring Boot? Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者 ...