/// <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); }
/// <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(); }
/* * 例程编号: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)); }
/* * 例程编号: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)); }
/* * 例程编号: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); }
/* * 例程编号: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); } }