zoukankan      html  css  js  c++  java
  • 对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:输出九九乘法表(循环的嵌套,嘿嘿 

    我是小白,新建立了一个的群:461431726,希望在这里和大家一起交流,共同学习。前端的话建议加群:646564351,谢谢
  • 相关阅读:
    python学习
    androidandroid中的通过网页链接打开本地app
    Android自定义View之绘制虚线
    Backbone学习记录(3)
    Backbone学习记录(2)
    Backbone学习记录(1)
    网络时间轴中竖线的含义
    控制台笔记
    css hack 笔记
    Fiddler学习笔记
  • 原文地址:https://www.cnblogs.com/dyxd/p/4079741.html
Copyright © 2011-2022 走看看