您的位置:首页 > 其它

分支语句

2016-05-19 21:07 357 查看
第一种分支语句

if(bool的表达式) //可以直接结束

{

代码

}

else if(bool的表达式) //可以直接结束

{

代码

}

else //否则,是最后的结束

{

代码(Console.WriteLine("我没有想到的问题");//检查是条件是否有漏洞)

}

if(...) {}

if(...) {}

if(...) {}// 这样的结构属于多组分支语句,计算机都会进行表达式判断

第二种分支语句
switch...case...

判断变量的值是什么,最后必须跟break;default有没有都可以。
switch (变量)
{
case 值: 执行代码;//可以写好几行执行代码

break;
case 值: 执行这里;break;
case 值: 执行这里;break;
default: b = "";break;
}

default相当于else。指定类型参数的默认值

switch ..case 能做的,if else 一定能做。if else能做的,swich case不一定能做。swich case 更简洁

练习1

问我饿不饿:
饿就吃饭!
很饿就赶紧吃饭!
不饿就等会再吃!

Console.Write("你饿不饿?");
string a = Console.ReadLine();

if (a == "饿")
{
Console.WriteLine("就吃饭!");
}
else if (a == "很饿")
{
Console.WriteLine("就赶紧吃饭");
}
else
{
Console.WriteLine("就等会再吃!");
}

Console.ReadKey();








练习2

判断学生成绩:
0-100之间才为正确的分数;// a<0 && a>100
60分以下,不及格! // a<60
60分以上,及格了! // a>=60 && a<90
90分以上,学的很棒! // a>=90 && a<100
100分,满分,好厉害! // a==100

Console.Write("请输入成绩:");
decimal b = Convert.ToDecimal(Console.ReadLine());

if (b < 0 || b > 100)
{
Console.WriteLine("成绩输入正确。");
}

else if (b < 60)
{
Console.WriteLine("不及格!");
}
else if (b < 90 && b >= 60)
{
Console.WriteLine("及格了!");
}
else if (b >= 90 && b < 100)
{
Console.WriteLine("学的很棒!");
}
else if (b == 100)
{
Console.WriteLine("满分,好厉害");
}

Console.ReadLine();










练习3

输入姓名:
如果是张三,输出,我叫张三,我是男的!
如果是李四,输出,我叫李四,我是男的!我比张三大!
如果是小花,输出,我叫小花,我是女的!
其它名称,输出,查无此人!

Console.Write("请输入姓名:");
string name = Console.ReadLine();

if (name == "张三")
{
Console.WriteLine("我叫张三,我是男的!");
}
else if (name == "李四")
{
Console.WriteLine("我叫李四,我是男的!我比张三大!");
}
else if (name == "小花")
{
Console.WriteLine("我叫小花,我是女的!");
}
else
{
Console.WriteLine("查无此人");
}

Console.ReadLine();










练习4

猜拳:
请输入你的手势: 石头剪子布
用户手势:xxx
电脑手势:xxx
xxx赢了!

//用户输入
Console.Write("请输入你的手势(1:石头,2:剪子,3:布):");
int a = Convert.ToInt32(Console.ReadLine());
//电脑输入
Random r = new Random();
int b = r.Next(1, 4);
//对比输赢
//用户赢  1,2  2,3  3,1
//电脑赢  1,3  3,2  1,3
//用户赢   -1    -1     2
//电脑赢   -2     1     1
int c = a - b;

if (c == -1 || c == 2)
{
Console.Write("用户赢了");

}
else if (c == 0)
{
Console.WriteLine("平局");
}

else if (c == -2 || c == 1)
{
Console.WriteLine("电脑赢了");
}

Console.ReadLine();








练习5

判断当前日期是一年中的第几天:
请输入月份:
请输入日期:
此日期是一年中的第xxx天。

一月31,二月28,三月31,四月30,五月31,六月30,七月31,八月31,九月30,十月31,十一月30,十二月31

//用户输入月份和日期
Console.Write("请输入月份:");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入日期:");
int b = Convert.ToInt32(Console.ReadLine());

//判断用户输入的月份和日期是否正确
if (a < 1 || a > 12)
{
Console.WriteLine("月份输入错误");
}
else if ((b < 1 ||b>31)|| (a == 2 )&&( b > 28)
|| (a == 1 || a == 3 || a == 5 || a == 7 || a == 8 || a == 10 || a == 12) &&( b > 31)
|| (a == 4 || a == 6 || a == 9 || a == 11) && (b > 30))//()内的表示一个独立条件
{
Console.WriteLine("日期输入错误");
}
else
{
//计算当前日期一年一共多少天

int a1 = 31, a2 = 28, a3 = 31, a4 = 30, a5 = 31, a6 = 30, a7 = 31, a8 = 31, a9 = 30, a10 = 31, a11 = 30, a12 = 31;
int c = 0;
switch (a)
{
case 1: c = b; break;
case 2: c = a1+b; break;
case 3: c = a1+a2+b; break;
case 4: c = a1+a2+a3+b; break;
case 5: c = a1+a2+a3+a4+b; break;
case 6: c = a1+a2+a3+a4+a5+b; break;
case 7: c = a1+a2+a3+a4+a5+a6+b; break;
case 8: c = a1+a2+a3+a4+a5+a6+a7+b; break;
case 9: c = a1+a2+a3+a4+a5+a6+a7+a8+b; break;
case 10: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+b; break;
case 11: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+b; break;
case 12: c =a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+b; break;

}
Console.WriteLine(a + "月" + b + "日一共" + c + "天!");
}

Console.ReadLine();








练习6

让用户输入3个数:
将这三个数,从大到小,排列打印出来。

//用户输入三个数
Console.Write("请输入第一个数:");
decimal a = Convert.ToDecimal(Console.ReadLine());
Console.Write("请输入第二个数:");
decimal b = Convert.ToDecimal(Console.ReadLine());
Console.Write("请输入第三个数:");
decimal c = Convert.ToDecimal(Console.ReadLine());

//比较大小
//a b c a>b>c a>c>b a=b=c a=b>c
//b a c b>a>c b>c>a b=c>a
//c a b c>a>b c>b>a c=a>b

if ((a > b && b > c) || (a == b && a == c) || (a == b && a > c))
{
Console.WriteLine("三个数的排序是:" + a + "," + b + "," + c + "。");
}
else if (a > c && a > b)
{
Console.WriteLine("三个数的排序是:" + a + "," + c + "," + b + "。");
}
else if (b > a && a > c)
{
Console.WriteLine("三个数的排序是:" + b + "," + a + "," + c + "。");
}
else if ((b > c && c > a) || (b == c && c > a))
{
Console.WriteLine("三个数的排序是:" + b + "," + c + "," + a + "。");

}
else if ((c > a && a > b) || (c == a && c > b))
{
Console.WriteLine("三个数的排序是:" + c + "," + a + "," + b + "");
}
else if (c > b && b > a)
{
Console.WriteLine("三个数的排序是:" + c + "," + b + "," + a + "。");
}

Console.ReadLine();


运算结果





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: