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(); } } }
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(); } } }
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(); } } }
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(); } } }