• 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};
    周长为:{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#中:   

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

     

  • 相关阅读:
    @Profile使用及SpringBoot获取profile值
    浅谈maven中的scope,systempath
    Maven Filter与Profile隔离生产环境与开发环境
    spring的@Value注解使用
    maven项目引入spring boot依赖之后filter不生效的问题
    SpringBoot整合Servlet的两种方式
    程序员,30岁,“理所应当”就该中年危机了吗?
    Spring Boot 2 Webflux的全局异常处理
    正经学C#_表达式与其运算符[赋值运算符]:《c#入门经典》
    正经学C#_表达式与其运算符[算术运算符]:《c#入门经典》
  • 原文地址:https://www.cnblogs.com/pang951189/p/7440752.html
Copyright © 2020-2023  润新知