对C#中几个循环语句的使用,请教
今天是在云和数据学院学习的第四天,由于各种原因···今天自己预习的循环语句的用法以及写了几个程序,也遇到各种的问题了···纠结。由于还是在学习的很初初初级,所以好多简单的方法还是不知道怎么写出来,只得硬拉几个循环语句。下面就看下我今天写的十几个小程序。
<1>.输入班级人数,然后依次输入学员成绩,计算班级学员的平均成绩和总成绩
static void Main(string[] args) { int i = 1; int sum = 0; int avg = 0; Console.WriteLine("请输入班级总人数:"); int man = Convert.ToInt32(Console.ReadLine()); for (; i <= man;i++) { Console.WriteLine("请各输入学生的成绩:"); int score = Convert.ToInt32(Console.ReadLine()); sum = sum + score; avg = sum / man; } Console.WriteLine("平均成绩为{0},总成绩为{1}", avg,sum); Console.ReadLine(); }
<2>打印100次“欢迎您来云和学院学习"
static void Main(string[] args) { int i=1; while (i < 100) { Console.WriteLine("欢迎您来云和学院学习"); } Console.ReadLine(); }
<3>2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
static void Main(string[] args) { double sdt = 80000; int year = 2006; sdt = 1.25 * sdt; do { year++; } while(sdt > 200000); { Console.WriteLine("到{0}培训学员人数将达到20万人",year); Console.ReadKey(); } }
<4>/老师问学生,这道题你会做了吗?如果学生答"会了(y)",则可以放学.如果学生不会做(n),则老师再讲一遍,再问学生是否会做了......
-直到学生会为止,才可以放学.
-直到学生会或老师给他讲了10遍还不会,都要放学
static void Main(string[] args) { Console.WriteLine("这道题你会做了吗?"); Console.WriteLine("y/n"); string anw = Console.ReadLine(); if (anw =="y") { Console.WriteLine("可以放学"); } else { Console.WriteLine("老实继续讲,这道题你会做了吗?"); Console.WriteLine("y/n"); string anw1 = Console.ReadLine(); if (anw1 == "y") { Console.WriteLine("放学"); } else { int i; for (i=1; i <= 10; i++) { Console.WriteLine("老师再讲一遍"); Console.WriteLine("y/n"); } Console.WriteLine("都要放学"); } } Console.ReadKey(); }
这个 整的我好迷茫啊,甚是不知道该怎么解决???真的是太无奈啊,学的只是还不多···想不出来该如何解决····请教。
<5>请用户输年份,再输入月份,输出该月的天数.(结合之前如何判断闰年来做)
static void Main(string[] args) { Console.WriteLine("请用户输年份:"); int year = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请用户输月份:"); int month = Convert.ToInt32(Console.ReadLine()); switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:Console.WriteLine("您输入的月份共有31天"); break; case 2: bool a =year % 400 == 0 || year % 4 == 0 && year % 100 != 0; switch (a) { case true : Console.WriteLine("您输入的月份共有29天"); break; case false: Console.WriteLine("您输入的月份共有28天"); break; } break; case 4: case 6: case 9: case 11:Console.WriteLine("您输入的月份共有31天"); break; } Console.ReadLine(); }
这个写的还算满意吧,但是我还是想有更好的方法吧,是不是下面分四种情况就输出来啦那???
<6> 这个是尝试下用while的用法:打印100次“欢迎您来云和学院学习"
static void Main(string[] args) { int i=1; while (i < 100) { Console.WriteLine("欢迎您来云和学院学习"); } Console.ReadLine(); }
<7>这个是练习下switch···case···的用法:对学员的结业考试成绩评测(改成用Switch来做) 成绩>=90:A 90>成绩>=80:B 80>成绩>=70:C 70>成绩>=60:D 成绩<60:E
static void Main(string[] args) { Console.WriteLine("请输入你的成绩"); string Score = Console.ReadLine(); int score = Convert.ToInt32(Score); switch (score/10) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: Console.WriteLine("E"); break; case 7: Console.WriteLine("E"); break; case 8: Console.WriteLine("E"); break; case 9: Console.WriteLine("E"); break; } Console.ReadLine(); }
感觉switch用着好痛苦啊!!! 还是if···else···好用,简单易懂,哇咔咔.
<8>这个也是while的用法,感觉好乱啊,嘿嘿 程序要求:要求用户输入用户名和密码,只要不是admin、888888就一直提示用户名或密码错误,请重新输入。
static void Main(string[] args) { while (true) { Console.WriteLine("请输入用户名:"); string a = Console.ReadLine(); Console.WriteLine("请输入密码:"); string b = Console.ReadLine(); if (a != "admin" || b != "888888") { Console.WriteLine("用户名或密码错误,请重新输入."); } else { Console.WriteLine("用户名或密码正确,请进入."); } Console.ReadKey(); } }
<9>for循环来啦,激动啊,嘿嘿 程序要求:计算1到100之间整数的和
static void Main(string[] args) { int i = 1; int sum = 0; for (; i <= 100; i++) { sum =sum+ i; } Console.WriteLine("输出1到100之间整数的和"+sum); Console.ReadLine(); }
<10>明天小兰就要登台演出了,老师说再把明天的演出的歌曲唱一遍,
如果满意,小兰就可以回家了.
否则就需要再练习一遍,直到老师满意为止.(y/n)
static void Main(string[] args) { Console.WriteLine("小兰唱歌满意不满意,如果满意可以回家,不满意继续练习"); string a = Console.ReadLine(); int i = 0; do { if (a == "n") { Console.WriteLine("继续练习"); a = Console.ReadLine(); i++; } else { Console.WriteLine("可以回家"); } } while (a == "n"&&i<=3); { } { Console.WriteLine("小兰唱歌满意"); Console.WriteLine("满意可以回家"); Console.ReadKey(); } }
这个用的do···while···太纠结啦啦啦,不知道是在do里面写循环体还是写这样的条件,我想说我就这样运行除恶要的结果啦。
<11>不断要求用户输入学生姓名,输入q结束
static void Main(string[] args) { while (true) { Console.WriteLine("请输入学生姓名:"); string input = Console.ReadLine(); if (input == "q") { break; } else { Console.WriteLine("请再次输入学生姓名:"); } Console.ReadKey(); } }
这个输出的结果好逗,但是要求的还是循环出来啦,只是感觉程序这样写还是感觉不对啊
<12>下面这个也是用的switch···case···,感觉不怎么好玩,还是if···else···用起来简单方便啊,程序要求:李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,如果定为C级,工资不变,如果定为D级工资降200元,如果定为E级工资降500元.设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资.
static void Main(string[] args) { Console.WriteLine("请输入对李四的评定等级(A-E)?"); string str = Console.ReadLine(); decimal salary = 5000; bool flag = false; switch (str) { case "A": salary += 500; break; case "B": salary += 200; break; default: Console.WriteLine("你的输入有问题!"); flag = true; break; case "C": break; case "D": salary -= 200; break; case "E": salary -= 500; break; } if (flag == false) { Console.WriteLine("李四的工资为:" + salary); } Console.ReadKey(); }
<f13>for循环来啦:求1-100间的所有偶数和
static void Main(string[] args) { int i = 0; int sum = 0; for (; i <= 100; i=i+2) { sum = sum + i; } Console.WriteLine("1-100间的所有偶数和为" + sum); Console.ReadKey(); }
好啦,先写这几个吧,我学习.net的历程····
明天可以学习下这2个题目啦吧
•问题3:输出九九乘法表(循环的嵌套,嘿嘿