每晚必备的作业时间,今儿有点晚了,现在这样生活紧张而充实,感觉回到了幸福的学生时代,可摆在面前的现实在提醒自己时刻不能松懈……跑偏了转回正题,今儿学的分支语句不多就几句,可是用了差不多一整天的时间来理解,吃透和熟悉……语句分类:顺序语句,选择语句(分支语句),循环语句
选择(分支语句)
if(){}
if(){}else{} 二选一;若if成立,则不去走else,;若if不成立,肯定走else
if(){}else if(){}else if(){}else{} 多选一
若if成立,那其他的所有都不去看
若if不成立,去看一下else if 成不成立
if的嵌套
if()
{
if()
{
}
else()
{
}
}
案例:
1.输入三个整数,xyz,最终以从小到大的方式输出。
利用嵌套
Console.Write("请输入x=");
int x = int.Parse(Console.ReadLine());
Console.Write("请输入y=");
int y = int.Parse(Console.ReadLine());
Console.Write("请输入z=");
int z = int.Parse(Console.ReadLine());
if (x < y && x < z)
{
Console.WriteLine (x);
if (y < z)
{
Console.WriteLine(y);
Console.WriteLine(z);
}
else//(y>z)
{
Console.WriteLine(z);
Console.WriteLine(y);
}
}
else if (y <x && y <z)
{
Console.WriteLine(y);
if (z < x)
{
Console.WriteLine(z);
Console.WriteLine(x);
}
else//(z>x)
{
Console.WriteLine(x);
Console.WriteLine(z);
}
}
else
{
Console.WriteLine(z);
if (x < y)
{
Console.WriteLine(x);
Console.WriteLine(y);
}
else//(x>y)
{
Console.WriteLine(y);
Console.WriteLine(x);
}
插入图片
案例 2.
输入三个整数,xyz,最终以从小到大的方式输出
利用嵌套
用中间变量
Console.Write("x=");
int x = int.Parse(Console.ReadLine());
Console.Write("y=");
int y = int.Parse(Console.ReadLine());
Console.Write("z=");
int z = int.Parse(Console.ReadLine());
int zhong;
if (x < y && x < z)
{
if (y < z)
{
}
else//y>z
{
zhong = y;
y = z;
z = zhong;
}
if (y < x && y < z)
{
zhong = x;
x = y;
y = zhong;
if (y < z)
{
}
else//(y>z )
{
zhong = y;
y = z;
z = zhong;
}
}
if (z < y && z < x)//(z<y&&z<x)
{
zhong = x;
x = z;
z = zhong;
if (y < x)
{
zhong = x;
x = y;
y = zhong;
}
else //(y>x)
{
}
}
Console.WriteLine(x);
Console.WriteLine(y);
Console.WriteLine(z);
插入图片
案例3.
相亲过程
女:你有房子吗?
若有—>,结婚吧;没有—>你有钱么?
若有—>,先买房子再结婚;
没有—>你有能力么?
有—>先赚钱再买房子再结婚
没有,拜拜
代码:
Console.Write("你有房子吗");
string a = Console.ReadLine();
if (a == "有")
{
Console.WriteLine("结婚吧");
}
else//没有
{
Console.WriteLine("你有钱么");
a = Console.ReadLine();
if (a == "有")
{
Console.WriteLine("先买房子再结婚");
}
else
{
Console.WriteLine("你有能力吗");
a = Console.ReadLine();
}
if (a == "有")
{
Console.WriteLine("先赚钱再买房子再结婚");
}
else
{
Console.WriteLine("拜拜");
a = Console.ReadLine();
}
}
插入图片
案例4
代码:
Console.Write("姓名:");
string a = Console.ReadLine();
Console.Write("成绩:");
double b = double.Parse(Console.ReadLine());
if (b >= 0 && b <= 100)
{
if (b == 100)
{
Console.WriteLine("恭喜你" + a + ",满分通过!");
}
else if (b >= 80)
{
Console.WriteLine("" + a + ",你很优秀,继续保持");
}
else if (b >= 60)
{
Console.WriteLine("" + a + "成绩良好");
}
else if (b >= 50)
{
Console.WriteLine("" + a + "就差一点点,下次一定要及格");
}
else//b<50
{
Console.WriteLine("" + a + "你是笨蛋吗?");
}
}
else
{
Console.WriteLine("您的输入有误");
}
插入图片
案例5.判断方程ax*x+bx+c=0是否为一元二次方程以及它的根的情况
代码:
Console.WriteLine("求方程ax*x+bx+c=0");
Console.Write("请输入a=");
double a = double.Parse(Console.ReadLine());
Console.Write("请输入b=");
double b = double.Parse(Console.ReadLine());
Console.Write("请输入c=");
double c = double.Parse(Console.ReadLine());
double de = b * b - 4 * a * c;
if (a == 0)//如果a=0,则不是一元二次方程
{
Console.WriteLine("不是一元二次方程");
}
else//(a!=0)
{
Console.WriteLine("是一元二次方程");
if (de >= 0)
{
double x1 = (-b + Math.Sqrt(de)) / (2 * a);
double x2 = (-b - Math.Sqrt(de)) / (2 * a);
if (de > 0)
{
Console.WriteLine("方程式有两个不同的实根");
Console.WriteLine("x1=" + (-b + Math.Sqrt(de)) / (2 * a) + " x2=" + (-b - Math.Sqrt(de)) / (2 * a));
}
else
{
Console.WriteLine("方程有两个相同的实根");
Console.WriteLine("x1=x2=" + (-b + Math.Sqrt(de)) / (2 * a));
}
}
else if (de < 0)
{
Console.WriteLine("方程没有实根");
}
Console.ReadLine();
}
}
}
}
插入图片
今儿的所有案例,其实理顺了这些之间的逻辑关系,一点点敲下来并不难,可细节处理不好比如{}的多加或是缺失,就容易弄出一堆错误来要么就是没有错误可就是不能运行,说到底还是不熟练的原因,所以需多练。