while跟if循环

While(表达式)//循环,达成括号里的条件,一直循环执行里面的程序直到得出的值不成立后退出循环

{

循环体
}

 几个练习题:

using System;

namespace while练习2
{
    class Program
    {
        static void Main(string[] args)
        {
            //老师问学生,这道题你会做了吗?如果学生答"会了(y)",则可以放学.如果学生不会做(n),则老师再讲一遍,再问学生是否会做了......
            //直到学生会为止,才可以放学.
            //直到学生会或老师给他讲了10遍还不会,都要放学


            string anwser = "";
            int i = 0;
            Console.WriteLine("这道题你会做了吗? yes or no");
            anwser = Console.ReadLine();
            while (anwser != "yes"&&i<=10)
            {

                Console.WriteLine("这是第{0}遍那我再讲一遍,你这次听懂了吗?", i);
                anwser = Console.ReadLine();
                i++;
            }
            if (anwser =="yes")
            {
                Console.WriteLine("下课!");              
                
            }
            else
            {
                Console.WriteLine("你没救了,下课!");
            }  
            
            Console.ReadKey();
        }
    }
}
using System;

namespace while循环练习
{
    class Program
    {
        static void Main(string[] args)
        {
            //2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
            Console.WriteLine("请输入2006年初始学员数量");
            double  stu = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入增长到的数量");
            double  sum = Convert.ToInt32(Console.ReadLine());
            int i = 0;
            while (stu <= sum)
            {
                stu *=1.25;
                i++;
            }
            Console.WriteLine("人数最终为{0},到{1}年可以超过{2}人",stu, i+2006,sum);
            Console.ReadKey();

        }
    }
}
using System;

namespace 练习3
{
    class Program
    {
        static void Main(string[] args)
        {
            //不断要求用户输入学生姓名,输入q结束.

            Console.WriteLine("请输入你的姓名");
            string name = Console.ReadLine();
            int i = 0;
            while(name!="q")
            {
                Console.WriteLine("请再次输入你的姓名");
                name = Console.ReadLine();
                i++;

            }
            Console.WriteLine("输入正确");
            Console.ReadKey();

        }
    }
}
using System;

namespace 练习4
{
    class Program
    {
        static void Main(string[] args)
        {
            //不断要求用户输入一个数字,然后打印这个数字的二倍,当用户输入q的时候程序退出。

            string num = "";
            while (num!="q")
            {
                 
                Console.WriteLine("请输入一个数字,我打出它的两倍");
                num = Console .ReadLine() ;
                if(num!="q")
                {
                    try
                    {
                       int number = Convert.ToInt32(num);
                        Console.WriteLine("这个数字的两倍是{0}", number * 2);
                    }
                    catch
                    {
                        Console.WriteLine("你输入的字符串错误,请重新输入");
                    }
                }
                else
                {
                    Console.WriteLine("你输入了q,程序退出");
                }
            }
            Console.ReadKey();


        }
    }
}
using System;

namespace 练习5
{
    class Program
    {
        static void Main(string[] args)
        {
            //不断要求用户输入一个数字(假定用户输入的都是正整数),当用户输入end的时候显示刚才输入的数字中的最大值
            string num = "";
            int input = 0;
            while (num != "end")
            {
                Console.WriteLine("请输入一个数字");
                num = Console.ReadLine();
                if (num != "end")
                {
                    try
                    {
                        int number = Convert.ToInt32(num);
                        if (input < number)
                        {
                            input = number;
                        }
                    }
                    catch
                    {
                        Console.WriteLine("你输入的字符串格式错误,请重新输入");
                    }
                }
            }
            Console.WriteLine("刚才输入数当中的最大值是{0}", input);
            Console.ReadKey();
        }
    }
}

 

break跳出当前循环

continue跳出当前循环并且继续下一步

return返回一个值并且跳出当前方法

 

do //先循环一次,然后再判断是否符合条件,再决定是否继续循环,等到值不成立后退出循环

{

循环体

}

while(表达式)

 

if(表达式)//如果符合表达式的条件那就执行语句,if else if语句可以无限套用

{

执行语句
}

else if(表达式)

{

执行语句
}

else if(表达式)

{

执行语句

}

else //最后一句else可以囊括剩下的不符合if条件的条件

{

执行语句

}

if的几个小练习:

 

using System;

namespace if_else_if练习
{
    class Program
    {
        static void Main(string[] args)
        {
            ////比较3个数字的大小 不考虑相等,这里只是输出最大的那一个,并不是给三个数字排列大小

            Console.WriteLine("请输入第一个数字a");
            int a = Convert.ToInt32(Console.ReadLine());//什么都不输入点任意键会报异常
            Console.WriteLine("请输入第二个数字b");
            int b = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入第三个数字c");
            int c = Convert.ToInt32(Console.ReadLine());
            //if (a > b && a > c)
            //{
            //    Console.WriteLine(a);
            //}
            //else if (b > a && b > c)
            //{
            //    Console.WriteLine(b);
            //}
            //else
            //{
            //    Console.WriteLine(c);
            //}
            if (a > b)
            {
                if (a > c)
                {
                    Console.WriteLine(a);
                }
                else
                {
                    Console.WriteLine(c);
                }
            }
            else
            {
                if (b > c)
                {
                    Console.WriteLine(b);

                }
                else
                {
                    Console.WriteLine(c);
                }
            }

            Console.ReadKey();
        }
    }
}
View Code

 

using System;

namespace 练习3
{
    class Program
    {
        static void Main(string[] args)
        {
            //练习3:提示用户输入年龄,如果大于等于18,则告知用户可以查看,如果小于10岁,
            //则告知不允许查看,如果大于等于10岁并且小于18,
            //则提示用户是否继续查看(yes、no),如果输入的是yes则提示用户请查看,
            //否则提示"退出,你放弃查看"。
            Console.WriteLine("请输入你的年龄");
            int age = Convert.ToInt32(Console.ReadLine());
            if (age >= 18)
            {
                Console.WriteLine("看吧,你总要知道的");
            }
            else if (age >= 10 && age < 18)
            {
                Console.WriteLine("是否继续查看?输入yes或者no");
                string a = Console.ReadLine();
                if (a == "yes")
                {
                    Console.WriteLine("早熟的孩子,后果自负呦");
                }
                else if (a == "no")
                {
                    Console.WriteLine("滚回家吃奶去");
                }
            }
            else
            {
                Console.WriteLine("滚回家吃奶去");
            }
            Console.ReadKey();

        }
    }
}
View Code
using System;

namespace 输入密码作业
{
    class Program
    {
        static void Main(string[] args)
        {
            //练习1:提示用户输入密码,如果密码是“88888”则提示正确,否则要求再输入一次,
            //如果密码是“88888”则提示正确,否则提示错误,程序结束。
            //(如果我的密码里有英文还要转换吗,密码:abc1)
            Console.WriteLine("请输入密码:");
            string password = Console.ReadLine();
            if (password == "88888")
            {
                Console.WriteLine("密码正确!");
            }
            else
            {
                Console.WriteLine("请重新输入");
                password = Console.ReadLine();
                if (password == "88888")
                {
                    Console.WriteLine("你终于输入正确了");

                }
                else
                {
                    Console.WriteLine("两次都错误,结束");
                }
            }
            Console.ReadKey();
        }
    }
}
View Code
using System;

namespace 账户加密码作业
{
    class Program
    {
        static void Main(string[] args)
        {
            //练习2:提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“88888”,
            //则提示正确,否则,如果用户名不是admin还提示用户用户名不存在,

            Console.WriteLine("请输入用户名");
            string name = Console.ReadLine();
            Console.WriteLine("请输入密码");
            string password = Console.ReadLine();
            if (name == "admin" && password == "88888")
            {
                Console.WriteLine("登录成功");
            }
            else if (name == "admin" && password != "88888")
            {
                Console.WriteLine("密码错误!");
            }
            else if(password =="88888")
            {
                Console.WriteLine("用户名不存在");
            }
            else
            {
                Console.WriteLine("账户密码全部错误");
            }
            Console.ReadKey();
        }
    }
}
View Code

 

posted @ 2021-06-08 21:31  静态类  阅读(395)  评论(0编辑  收藏  举报