C# 实例练习(第二天)


实例练习

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 //}

  答案二:

 1          bool f = true;
 2             while (f) {
 3                 #region 代码
 4                 Console.WriteLine("请输入第一个数字");
 5                 string num1 = Console.ReadLine();
 6                 Console.WriteLine("请输入第二个数字");
 7                 string num2 = Console.ReadLine();
 8 
 9                 int x = 0;//接收  字符串转换成数字的值
10                 int y = 0;
11 
12                 ///用户只能输入数字
13                 try
14                 {
15                     x = Convert.ToInt32(num1);
16                     y = Convert.ToInt32(num2);
17                 }
18                 catch (Exception)
19                 {
20                     Console.WriteLine("您输入的不是数字");
21                     Console.ReadKey();
22                     return;
23                 }
24 
25                 //求第一个数字必须比第二个数字小
26                 if (x >= y)
27                 {
28                     Console.WriteLine(" 第一个数字比第二个数字大,请重新输入");
29                     Console.ReadKey();
30                     Console.Clear();//控制台 内容清空
31                     continue;
32                 }
33 
34                 //计算两个数字之间和
35                 int sum = 0;
36                 for (int i = x; i <= y; i++)
37                 {
38                     sum += i;
39                 }
40 
41 
42                 Console.WriteLine("两个数之间的和为:{0}",sum);
43 
44                 Console.WriteLine("是否退出程序?(Y|N)");
45                 string flag = Console.ReadLine();
46                 if (flag == "Y") {
47                     break;
48                 }              
49                 #endregion

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#中:   

  • 整数除以整数,结果仍为整数;
  • 整数除以小数,结果为小数;
  • 小数除以整数,结果也为小数。

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM