Example #1
0
 /// <summary>
 /// 初始化数组
 /// </summary>
 /// <param name="i">数组元素数量</param>
 /// <returns>数组引用</returns>
 public static int[] InitArray(int i)
 {
     int[] iArray = null;
     if (i < 1)
     {
         Console.WriteLine("初始化失败,返回空地址。");
     }
     else
     {
         Console.WriteLine("开始初始化整形一维数组...");
         Console.WriteLine("请依次输入各元素的值:");
         iArray = new int[i];
         try
         {
             for (int j = 0; j < i; j++)
             {
                 Console.Write("元素{0}:", j);
                 iArray[j] = Convert.ToInt32(Console.ReadLine());
             }
         }
         catch
         {
             Console.WriteLine("输入的数据不是整形数据,初始化失败,返回空地址");
             iArray = null;
         }
     }
     Forms.Cut();
     return(iArray);
 }
Example #2
0
 /// <summary>
 /// 遍历数组
 /// </summary>
 /// <param name="iArray">遍历的数组引用</param>
 public static void PrintArray(int[] iArray)
 {
     Console.Write("开始遍历整形一维数组...\n[ ");
     for (int i = 0; i < iArray.Length; i++)
     {
         if (i == iArray.Length - 1)
         {
             Console.WriteLine(iArray[i] + " ]");
             break;
         }
         Console.Write(iArray[i] + ", ");
     }
     Forms.Cut();
 }
Example #3
0
        /*
         *  例程编号:CP03_11
         *  摘要:
         *      6种逻辑运算符(&、&&、|、||、!、^)
         *  说明:
         *      1)&和|:每个表达式都会执行
         *         &&和||:短路效应,只要其中一个满足整个逻辑表达式的条件,往后就不会执行
         *         &&:若运算符左侧操作数(表达式)为false,则整个表达式的结果为false,不会执行右侧表达式
         *         ||:若运算符左侧操作数(表达式)为true,则整个表达式的结果为true,不会执行右侧表达式
         *      2)观察每个逻辑表达式的运算结果
         *  步骤:
         *      1)
         *  变量:
         *      修饰符          变量类型         变量名         备注
         *                      int             iVar1
         *                      int             iVar2
         *                      int             iVar3
         *  方法:
         *      修饰符         返回值类型    方法名            参数类型    备注
         */
        public static void CP03_12()
        {
            int iVar1 = 1, iVar2 = 2, iVar3 = 3;

            Console.WriteLine("iVar1 = {0}, iVar2 = {1}, iVar3 = {2}", iVar1, iVar2, iVar3);
            Forms.Cut();
            //  &
            Console.WriteLine("(iVar1 > iVar2) & (iVar1 > iVar3) : {0}", (iVar1 > iVar2) & (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) & (iVar1 > iVar3) : {0}", (iVar1 > iVar2) & (iVar1 < iVar3));
            Console.WriteLine("(iVar1 > iVar2) & (iVar1 > iVar3) : {0}", (iVar1 < iVar2) & (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) & (iVar1 > iVar3) : {0}", (iVar1 < iVar2) & (iVar1 < iVar3));
            Forms.Cut();
            //  &&
            Console.WriteLine("(iVar1 > iVar2) && (iVar1 > iVar3) : {0}", (iVar1 > iVar2) && (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) && (iVar1 > iVar3) : {0}", (iVar1 > iVar2) && (iVar1 < iVar3));
            Console.WriteLine("(iVar1 > iVar2) && (iVar1 > iVar3) : {0}", (iVar1 < iVar2) && (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) && (iVar1 > iVar3) : {0}", (iVar1 < iVar2) && (iVar1 < iVar3));
            Forms.Cut();
            //  |
            Console.WriteLine("(iVar1 > iVar2) | (iVar1 > iVar3) : {0}", (iVar1 > iVar2) | (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) | (iVar1 > iVar3) : {0}", (iVar1 > iVar2) | (iVar1 < iVar3));
            Console.WriteLine("(iVar1 > iVar2) | (iVar1 > iVar3) : {0}", (iVar1 < iVar2) | (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) | (iVar1 > iVar3) : {0}", (iVar1 < iVar2) | (iVar1 < iVar3));
            Forms.Cut();
            //  ||
            Console.WriteLine("(iVar1 > iVar2) || (iVar1 > iVar3) : {0}", (iVar1 > iVar2) || (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) || (iVar1 > iVar3) : {0}", (iVar1 > iVar2) || (iVar1 < iVar3));
            Console.WriteLine("(iVar1 > iVar2) || (iVar1 > iVar3) : {0}", (iVar1 < iVar2) || (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) || (iVar1 > iVar3) : {0}", (iVar1 < iVar2) || (iVar1 < iVar3));
            Forms.Cut();
            //  !
            Console.WriteLine("!(iVar1 > iVar2) : {0}", !(iVar1 > iVar2));
            Console.WriteLine("!(iVar1 > iVar2) : {0}", !(iVar1 > iVar2));
            Console.WriteLine("!(iVar1 > iVar2) : {0}", !(iVar1 < iVar2));
            Console.WriteLine("!(iVar1 > iVar2) : {0}", !(iVar1 < iVar2));
            Forms.Cut();
            //  ^
            Console.WriteLine("(iVar1 > iVar2) ^ (iVar1 > iVar3) : {0}", (iVar1 > iVar2) ^ (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) ^ (iVar1 > iVar3) : {0}", (iVar1 > iVar2) ^ (iVar1 < iVar3));
            Console.WriteLine("(iVar1 > iVar2) ^ (iVar1 > iVar3) : {0}", (iVar1 < iVar2) ^ (iVar1 > iVar3));
            Console.WriteLine("(iVar1 > iVar2) ^ (iVar1 > iVar3) : {0}", (iVar1 < iVar2) ^ (iVar1 < iVar3));
        }
Example #4
0
        /*
         *  例程编号:CP02_12
         *  摘要:
         *      数组的基础操作
         *  说明:
         *      1)初始化数组
         *      2)遍历数组
         *      3)求数组元素最大值
         *      4)求数组元素最小值
         *      5)冒泡排序算法
         *      6)逆序排序算法1
         *      7)逆序排序算法2
         *      8)根据索引值找元素值
         *      9)根据元素值找索引值
         *  步骤:
         *      1)
         *  变量:
         *      修饰符     变量类型      变量名       备注
         *                  int[]       iArray
         *  方法:
         *      修饰符      返回值类型    方法名      参数1类型  参数2类型  备注
         *                  int[]        InitArray   int                  初始化一个整形一维数组
         *                  void         PrintArray  int[]                遍历整形一维数组
         *                  int          GetMax      int[]                求整形一维数组最大值
         *                  int          GetMin      int[]                求整形一维数组最小值
         *                  int[]        Bubble      int[]                冒泡排序算法
         *                  int[]        Reverse_1   int[]                逆序排序算法1
         *                  int[]        Reverse_2   int[]                逆序排序算法2
         *                  int          GetData     int[]      int       根据索引值找元素值
         *                  int          GetIndex    int[]      int       根据元素值找索引值
         */

        /// <summary>
        /// 数组的基础操作
        /// </summary>
        public static void CP02_12()
        {
            int iNumber;

            int[] iArray = null;
            Console.Write("请输入需要初始化的整形一维数组的大小:");
            //初始化数组
            try
            {
                iNumber = Convert.ToInt32(Console.ReadLine());
            }
            catch
            {
                Console.WriteLine("输入的不是整形数据,程序结束");
                return;
            }
            iArray = InitArray(iNumber);
            if (iArray == null)
            {
                Console.WriteLine("初始化数组失败,程序结束");
                return;
            }
            PrintArray(iArray);
            Console.WriteLine("数组最大值是:" + GetMax(iArray));
            Console.WriteLine("数组最小值是:" + GetMin(iArray));
            Forms.Cut();
            //冒泡排序
            int[] iArray_bu = Bubble(iArray);
            Console.WriteLine("对冒泡排序后的数组进行遍历...");
            PrintArray(iArray_bu);
            //倒序排序1
            int[] iArray_re_1 = Reverse_1(iArray);
            Console.WriteLine("对逆序算法1排序后的数组进行遍历...");
            PrintArray(iArray_re_1);
            //冒泡排序
            int[] iArray_re_2 = Reverse_2(iArray);
            Console.WriteLine("对逆序算法2排序后的数组进行遍历...");
            PrintArray(iArray_re_2);
            Console.WriteLine("查找3号元素,元素值为:" + GetData(iArray, 3));
            Console.WriteLine("查找元素值为3的元素,索引值为:" + GetIndex(iArray, 3));
        }
Example #5
0
        /*
         *  例程编号:CP01_01
         *  摘要:
         *      while语句和do while语句的区别
         *  说明:
         *      1)while语句,先对条件进行判断,再执行语句体
         *      2)do while语句,先执行语句体,再对条件进行判断
         *  步骤:
         *      1)
         *  变量:
         *      修饰符     变量类型      变量名       备注
         *                  int         i
         *  方法:
         *      修饰符         返回值类型    方法名            参数类型    备注
         */
        /// <summary>
        /// while语句和do while语句的区别
        /// </summary>
        public static void CP05_20()
        {
            int i;

            Console.WriteLine("演示 while语句的效果");
            Console.WriteLine("执行初始化...");
            i = 0;
            while (i < 0)
            {
                i++;
            }
            if (i == 0)
            {
                Console.WriteLine("因为i不符合判断条件,因此,while语句并没有执行");
            }
            else
            {
                Console.WriteLine("执行了while语句");
            }
            Console.WriteLine("i = " + i);
            Forms.Cut();

            Console.WriteLine("演示 do while语句的效果");
            Console.WriteLine("执行初始化...");
            i = 0;
            do
            {
                i++;
            } while (i < 0);
            if (i == 0)
            {
                Console.WriteLine("因为i不符合判断条件,因此,while语句并没有执行");
            }
            else
            {
                Console.WriteLine("执行了while语句");
            }
            Console.WriteLine("i = " + i);
        }
Example #6
0
        /*
         *  例程编号:CP04_02
         *  摘要:
         *      if语句的6个练习
         *  说明:
         *      1)
         *  步骤:
         *      1)比较两个数是否相等(格式二)
         *      2)获取两个数的最大值(格式二)
         *      3)获取三个数的最大值(嵌套,格式三,三目运算符)
         *      4)根据成绩输出对应的等级(格式三)
         *      5)根据月份输出对应的季节(格式三)
         *      6)根据x计算对应y的值(格式三)
         *  变量:
         *      修饰符     变量类型      变量名       备注
         *                  int         iVar1
         *                  int         iVar2
         *                  int         iVar3
         *                  int         iMax
         *                  int         iScore
         *                  int         iMonth
         *                  int         iX
         *  方法:
         *      修饰符         返回值类型    方法名            参数类型    备注
         */

        /// <summary>
        /// if语句的6个练习
        /// </summary>
        public static void CP04_02()
        {
            int iMax, iVar1 = 3, iVar2 = 4, iVar3 = 5;
            int iScore, iMonth, iX;

            Console.WriteLine("iVar1 = {0}, iVar2 = {1}, iVar3 = {2}.", iVar1, iVar2, iVar3);
            Forms.Cut();

            //1)比较两个数是否相等(格式二)
            if (iVar1 == iVar2)
            {
                Console.WriteLine("比较两个数是否相等,结果是:相等的");
            }
            else
            {
                Console.WriteLine("比较两个数是否相等,结果是:不相等的");
            }
            Forms.Cut();

            //2)获取两个数的最大值(格式二)
            if (iVar1 > iVar2)
            {
                Console.WriteLine("获取两个数的最大值,结果是:iVar1大于iVar2,因此,最大值是:" + iVar1);
            }
            else
            {
                Console.WriteLine("获取两个数的最大值,结果是:iVar2大于或等于iVar1,因此,最大值是:" + iVar2);
            }
            Forms.Cut();

            //3)获取三个数的最大值(嵌套,格式三,三目运算符)
            Console.WriteLine("先用嵌套来实现:");
            if (iVar1 > iVar2)
            {
                if (iVar1 > iVar3)
                {
                    Console.WriteLine("iVar1 iVar2 iVar3 中的最大值是:" + iVar1);
                }
                else
                {
                    Console.WriteLine("iVar1 iVar2 iVar3 中的最大值是:" + iVar3);
                }
            }
            else
            {
                if (iVar2 > iVar3)
                {
                    Console.WriteLine("iVar1 iVar2 iVar3 中的最大值是:" + iVar2);
                }
                else
                {
                    Console.WriteLine("iVar1 iVar2 iVar3 中的最大值是:" + iVar3);
                }
            }

            Console.WriteLine("然后用格式三实现:");
            if (iVar1 > iVar2 && iVar1 > iVar3)
            {
                Console.WriteLine("iVar1 iVar2 iVar3 中的最大值是:" + iVar1);
            }
            else if (iVar2 > iVar1 && iVar2 > iVar3)
            {
                Console.WriteLine("iVar1 iVar2 iVar3 中的最大值是:" + iVar2);
            }
            else
            {
                Console.WriteLine("iVar1 iVar2 iVar3 中的最大值是:" + iVar3);
            }

            Console.WriteLine("最后用三目运算符来实现:");
            iMax = iVar1 > iVar2 ? (iVar1 > iVar3 ? iVar1 : iVar3) : (iVar2 > iVar3 ? iVar2 : iVar3);
            Console.WriteLine("iVar1 iVar2 iVar3 中的最大值是:" + iMax);
            Forms.Cut();

            //4)根据成绩输出对应的等级(格式三)
            Console.Write("请输入一个整数成绩,判定优良中差:");
            iScore = Convert.ToInt32(Console.ReadLine());
            if (iScore > 100 || iScore < 0)
            {
                Console.WriteLine("您输入的成绩有误。");
            }
            else if (iScore < 60)
            {
                Console.WriteLine("不及格了,丢去参加补习班");
            }
            else if (iScore >= 60 && iScore < 70)
            {
                Console.WriteLine("成绩中等,给一个小红花吧");
            }
            else if (iScore >= 70 && iScore < 90)
            {
                Console.WriteLine("成绩良好,给两个小红花");
            }
            else
            {
                Console.WriteLine("成绩优秀,给三个小红花");
            }
            Forms.Cut();

            //5)根据月份输出对应的季节(格式三)
            Console.Write("请输入一个月份来判断季节:");
            iMonth = Convert.ToInt32(Console.ReadLine());
            if (iMonth <= 0 || iMonth > 12)
            {
                Console.WriteLine("输入的月份有误");
            }
            else if (iMonth == 12 || iMonth == 1 || iMonth == 2)
            {
                Console.WriteLine("{0}月是冬季", iMonth);
            }
            else if (iMonth == 3 || iMonth == 4 || iMonth == 5)
            {
                Console.WriteLine("{0}月是春季", iMonth);
            }
            else if (iMonth == 6 || iMonth == 7 || iMonth == 8)
            {
                Console.WriteLine("{0}月是夏季", iMonth);
            }
            else
            {
                Console.WriteLine("{0}月是秋季", iMonth);
            }
            Forms.Cut();

            //6)根据x计算对应y的值(格式三)
            Console.Write("请输入x值,计算出y值:");
            iX = Convert.ToInt32(Console.ReadLine());
            if (iX >= 3)
            {
                Console.WriteLine("x = {0}, y = {1}", iX, 2 * iX + 1);
            }
            else if (iX >= -1 && iX < 3)
            {
                Console.WriteLine("x = {0}, y = {1}", iX, 2 * iX);
            }
            else
            {
                Console.WriteLine("x = {0}, y = {1}", iX, 2 * iX - 1);
            }
        }