zoukankan      html  css  js  c++  java
  • 第5天c#基础for循环和enum

    循环语句

    do...while

    do-while第一次无条件进入循环体,先循环 再判断

    string username;                                    //定义账号
    string pwd;                                         //定义密码
    do                                                  //先进入循环
    {
        Console.WriteLine("请输入账号");
        username = Console.ReadLine();                  
        Console.WriteLine("请输入密码");
        pwd = Console.ReadLine();
    } while (username != "admin" || pwd != "888888");   //判断条件,如果满足则退出,不满足则继续循环

    for

    练习:打印一个等腰三角形

                //     *
                //    ***
                //   *****
                //  *******
                // *********
                //***********
                //  .......
                //  第 10 行
    
                //先分析,行与列的关系  r表示行, c表示列
                //*                 r = 1  c = 1
                //***               r = 2  c = 3
                //*****             r = 3  c = 5
                //*******           r = 4  c = 7
                //*********
                //***********
                //  .......
                //  第 10 行
                // c =  2 * r - 1
    
                //先将第一行,多少星星打印出来,不考虑空格
    
                //再考虑每行前面的空格数   r表示行    s表示该行的空格数
                //
                //      ....
                //      ....
                //      ....
                //      ....
                //      ....
                //   *************          r = 7    s = 3
                //  ***************         r = 8    s = 2
                // *****************        r = 9    s = 1
                //*******************       r = 10   s = 0
    
                // s = 10 - r
    
                //最大的行数
                int maxRow = 15;
                //外侧循环控制行
                for (int r = 1; r <= maxRow; r++)
                {
                    //内侧循环控制当前行的列
    
                    //打印当前行星星之前,先将当前行前面的空格打印出来
                    //先计算当前行的空格数
                    int spaceCount = maxRow - r;
                    for (int i = 1; i <= spaceCount; i++)
                    {
                        Console.Write(" ");
                    }
    
                    //先计算当前行对应多少个星星
                    int starCount = 2 * r - 1;
                    for (int c = 1; c <= starCount; c++)
                    {
                        Console.Write("*");
                    }
                    //当前行打印完毕,需要换行
                    Console.WriteLine();
                }

    结果:

    练习2:九九乘法表

      /*
                 1*1=1                          r = 1   c = 1
                 1*2=2  2*2=4                   r = 2   c = 2
                 1*3=3  2*3=6   3*3=9           r = 3   c = 3
                 ............. 
                 * */
                //分析行r 和列c 的关系
                //先分析 第几行有多少列   c = r
                //每一项的内容   c * r = 结果
    
                //控制行的循环
                for (int r = 1; r <= 9; r++)
                {
                    //c <= r  当前是第n行,该行最多n列
                    for (int c = 1; c <= r; c++)
                    {
                        //通过每列以制表符分隔
                        // c * r = 结果
                        Console.Write("{0}*{1}={2}	", c, r, c * r);
                    }
    
                    Console.WriteLine();
                }

    效果:

    练习3:水仙花数

    static void Main(string[] args)
            {
                //水仙花数:一个三位数的每位数字的立方和等于这个数本身
                for (int i = 100; i <= 999; i++)            //水仙花数是三位数,所以循环范围是100-999
                {
                    int hundreds = i / 100;                 //除以100 得到百位的数字
                    int tens = i / 10 % 10;                 //除以10 得到一个百位和十位组合的两位数,取余10,过滤掉百位的数字,最终得到的就是十位上的数字
                    int units = i % 10;                     //取余10,得到个位数字
                    if (i==(hundreds*hundreds*hundreds+tens*tens*tens+units*units*units))   //判断每位数字的立方和是不是等于数字本身
                    {
                        Console.WriteLine(i);               //打印
                    }
                }
            }

    结果:

    总结

    1.while:先判断条件,再执行循环体;当满足条件时,继续执行循环体

    2.do...while:先执行一次循环体,再判断条件;当满足条件时,继续执行循环体;当无需考虑条件先执行一次循环体时,考虑使用do...while语句

    3.for:当明确执行次数时,考虑使用for循环比while循环更加简单

    复杂数据类型

    基本数据类型:数据结构中仅有一个成员

    复杂数据类型:数据结构中可包含多个成员

    enum枚举

    声明枚举类型

    定义枚举类型必须放在函数外,枚举名,枚举项(值)通常都使用帕斯卡命名法

    使用枚举类型

    使用枚举类型定义枚举变量

     myEnum my;

    赋值

    给枚举变量赋值

    my = myEnum.A

    注意

    枚举类型和int和string的转换

    枚举与int转换

    使用强制转换符()转换

    枚举与string转换

    枚举转字符串

    字符串转枚举

    try-catch语句

    保护代码,避免出现程序崩溃

  • 相关阅读:
    线性代数学习路线
    补充.关于秩的不等式
    第十讲.无关性、基与维数
    第九讲.Ax = b
    第八讲.Ax = 0
    大三下学期第一个月反思
    第六讲.LU分解
    第五讲.矩阵的逆
    第四讲.矩阵的运算
    NAT 实验
  • 原文地址:https://www.cnblogs.com/yifengs/p/14026088.html
Copyright © 2011-2022 走看看