对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个题目啦吧

•找出100-999间的水仙花数?

•问题3:输出九九乘法表(循环的嵌套,嘿嘿 

posted @ 2014-11-06 19:42  雪?  阅读(4290)  评论(8编辑  收藏  举报