实例练习
1. 完成简单登录效果,设置用户登录账号密码,清空控制台,进入登录页面,请求用户输入账号、密码和验证码(随机产生),并判断用户输入的信息,给出相应的提示。
C#代码如下:
主要知识点:
(1)//清空控制台 Console.Clear();
(2)//设置随机数验证码 Random rand = new Random(); int num = rand.Next(1000,10000);
1 //账户设置界面 2 /* 3 Console.WriteLine("----------账户设置-----------"); 4 Console.WriteLine("请设置账户:"); 5 str1 = Console.ReadLine(); 6 Console.WriteLine("请设置密码:"); 7 str2 = Console.ReadLine(); 8 //清空控制台 9 Console.Clear(); 10 //用户登录界面 11 Console.WriteLine("------------登录-------------"); 12 Console.WriteLine("请输入账户:"); 13 str3 = Console.ReadLine(); 14 Console.WriteLine("请输入密码:"); 15 str4 = Console.ReadLine(); 16 //设置随机数验证码 17 Random rand = new Random(); 18 int num = rand.Next(1000,10000); 19 //输出验证码 20 Console.WriteLine("请输入验证码:"+num); 21 str5 = Console.ReadLine(); 22 int num2=Convert.ToInt32(str5); 23 //进行判断 24 if(str1==str3&&str2==str4&&num==num2){ 25 Console.WriteLine("您的信息输入完全正确,可以登陆!"); 26 Console.WriteLine("请按任意键继续……"); 27 } 28 else 29 { 30 Console.WriteLine("对不起,您输入的信息有误,请重新输入,谢谢!"); 31 }
2. 用户输入三条边长,判断能否组成三角形,并判断可以组成什么样的三角形。
代码如下:
1 //进行输出:提示用户输入 2 Console.WriteLine("请输入第一条边:"); 3 //用一个变量接受输入的值 4 str1 = Console.ReadLine(); 5 Console.WriteLine("请输入第二条边:"); 6 str2 = Console.ReadLine(); 7 Console.WriteLine("请输入第三条边:"); 8 str3 = Console.ReadLine(); 9 //转换为整形 10 int side1, side2, side3; 11 side1 = Convert.ToInt32(str1); 12 side2 = Convert.ToInt32(str2); 13 side3 = Convert.ToInt32(str3); 14 //判断 15 if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1) 16 { 17 if (side1 == side2 || side1 == side3 || side2 == side3) 18 { 19 if (side1 == side2 && side1 == side3) //已经三边相等,无需另行判断 20 { 21 Console.WriteLine("可以组成一个等边三角形"); 22 } 23 else 24 { 25 Console.WriteLine("可以组成一个等边三角形"); 26 } 27 } 28 else 29 { 30 Console.WriteLine("可以组成一个普通三角形"); 31 } 32 //Console.WriteLine("可以组成一个三角形"); 33 } 34 else 35 { 36 Console.WriteLine("不可以组成一个三角形"); 37 } 38 console.Redkey();
3. 提示用户输入两个数字,并计算这两个数字之间所有整数的和。
要求:
(1)用户只能输入数字
(2)计算两个数字之间和
(3)要求第一个数字必须比第二个数字小,否则就重新输入。
1 //while (true) 2 //{ 3 // Console.WriteLine("请输入第1个数字:"); 4 // string str1 = Console.ReadLine(); 5 // Console.WriteLine("请输入第2个数字:"); 6 // string str2 = Console.ReadLine(); 7 // int num11 = 0; 8 // int num22 = 0; 9 // try ----------------------C#异常捕捉机制 10 // { 11 // num11 = Convert.ToInt32(str1); 12 // num22 = Convert.ToInt32(str2); 13 // } 14 // catch (Exception) 15 // { 16 // Console.WriteLine("您输入的数据类型有误,请重新输入!"); 17 // Console.ReadKey(); 18 // return; 19 // } 20 // if (num11 > num22) 21 // { 22 // Console.WriteLine("您输入的数据大小有误,请重新输入!"); 23 // Console.ReadKey(); 24 // Console.Clear(); 25 // continue; 26 // } 27 // int sum = 0; 28 // for (int i = num11; i <= num22; i++) 29 // { 30 // sum += i; 31 // } 32 // Console.WriteLine("{0}和{1}之间所有整数的和为:{2}", num11, num22, sum); 33 // Console.WriteLine("是否退出程序?(Y|N)"); 34 // string flag = Console.ReadLine(); 35 // if (flag == "Y") 36 // { 37 // break; 38 // } 39 // Console.ReadKey(); 40 //}
4. 用方法来实现:请计算出一个整型数组的平均值。
1 //int[] array1 = new int[6]; 2 //double summ = ArrayAvg(array1);//定义变量接收方法的返回值 3 //Console.WriteLine("平均值为:{0}", summ); 4 //Console.ReadKey();//调用方法
方法:
1 #region 第4题求平均值(方法) 快捷键:#region+table键 2 /// <summary> 3 /// 4.计算数组的平均值 4 /// </summary> 5 /// 无参有返回值 6 /// <param name="array"></param> 7 static double ArrayAvg(int[] array) 8 { 9 double sum = 0; 10 for (int i = 0; i < array.Length; i++) 11 { 12 array[i] = i; 13 sum += array[i]; 14 } 15 16 return sum; 17 } 18 #endregion
5. 写一个方法,用来判断用户输入的数字是不是质数 ,再写一个方法 要求用户只能输入数字,如果输入有误,就一直让用户输入数字。
1 //(1) 2 //Console.WriteLine("请输入一个数字:"); 3 //string strr = Console.ReadLine(); 4 //JudgmentPrime(strr); 5 //(2)判断是不是数字 6 //bool boo = true; 7 //while(boo){ 8 // Console.WriteLine("请输入一个数字:"); 9 // string str4 = Console.ReadLine(); 10 // bool result = IsNumber(str4); 11 // if (result) 12 // { 13 // boo=false; 14 // break; 15 // } 16 // else{ 17 // Console.WriteLine("您输的不是一个数字,请重新输入!"); 18 // Console.ReadKey(); 19 // Console.Clear(); 20 // } 21 22 //} 23
方法:
1 /// 5.1判断质数 2 /// </summary> 3 /// <param name="Prime"></param> 4 static void JudgmentPrime(string Prime) 5 { 6 int num1 = Convert.ToInt32(Prime), sum = 0, k = 1 + num1; 7 for (int i = 1; i <= num1; i++) 8 { 9 if (num1 % i == 0) 10 { 11 sum += i; 12 } 13 } 14 if (sum == k) 15 { 16 Console.WriteLine("您输入的是一个质数!"); 17 } 18 else 19 { 20 Console.WriteLine("您输入的不是一个质数!"); 21 } 22 } 23 #endregion
1 /// <summary> 2 /// 5.2判断输入值是不是数字 3 /// </summary> 4 /// <param name="str"></param> 5 /// <returns></returns> 6 static bool IsNumber(string str) 7 { 8 bool f = true; 9 int x = 0; 10 try 11 { 12 x = Convert.ToInt32(str); 13 } 14 catch (Exception) 15 { 16 f = false; 17 } 18 return f; 19 } 20 #endregion
6.写一个方法 计算圆的面积和周长 面积是 pI*R*R 周长是 2*Pi*r
1 //Console.WriteLine("请输入圆的半径:"); 2 //string r = Console.ReadLine(); 3 //CircleArea(r);
方法:
1 #region 7.计算圆的周长和面积 2 /// <summary> 3 /// 7.计算圆的周长和面积 4 /// </summary> 5 /// <param name="mianji"></param> 6 /// <param name="zhouChang"></param> 7 static void CircleArea(string banJing) 8 { 9 double num = Convert.ToDouble(banJing); 10 Console.WriteLine("圆的面积为:{0};\n周长为:{1}", Math.PI * num * num, 2 * Math.PI * num); 11 } 12 #endregion
7. 请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序。
1 int[] array4 = { 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }; 2 //外循环:控制整体的排序次数 3 for (int i = 0; i < array4.Length - 1; i++) 4 { 5 //内循环:控制每次循环的次数 6 for (int j = i; j < array4.Length - 1; j++) 7 { 8 if (array4[i] > array4[j + 1]) 9 { 10 int max = array4[i]; 11 array4[i] = array4[j + 1]; 12 array4[j + 1] = max; 13 } 14 15 } 16 } 17 //遍历数组 18 foreach (var item in array4) 19 { 20 Console.WriteLine(item); 21 } 22 Console.ReadKey();
8. 用方法来实现:请计算出一个整型数组的平均值:{ 1, 3, 5, 7, 93, 33, 4, 4, 6, 8, 10 }。要求:计算结果如果有小数,则显示小数点后两位(四舍五入)。
1 //int[] array5 = { 1, 3, 5, 57, 98, 33, 4, 4, 6, 8, 10 }; 2 //Arrayavg(array5); 3 //Console.ReadKey();
方法:
1 /// <summary> 2 /// 9.求平均值 3 /// </summary> 4 /// <param name="arrayy"></param> 5 static void Arrayavg(int[] arrayy) 6 { 7 double sum = 0;//转换为double类型,否则不会输出小数 8 for (int i = 0; i < arrayy.Length; i++) 9 { 10 sum += arrayy[i]; 11 } 12 double aa = sum / arrayy.Length;//同上 13 double kk = Math.Round(aa, 2);//同上 14 Console.WriteLine("平均值为:{0}", kk); 15 } 16 #endregion
本题知识点补充:
C#中:
- 整数除以整数,结果仍为整数;
- 整数除以小数,结果为小数;
- 小数除以整数,结果也为小数。
时间: 2024-12-17 03:45:33