zoukankan      html  css  js  c++  java
  • 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#中:   

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

     

  • 相关阅读:
    hdu 1199 Color the Ball 离散线段树
    poj 2623 Sequence Median 堆的灵活运用
    hdu 2251 Dungeon Master bfs
    HDU 1166 敌兵布阵 线段树
    UVALive 4426 Blast the Enemy! 计算几何求重心
    UVALive 4425 Another Brick in the Wall 暴力
    UVALive 4423 String LD 暴力
    UVALive 4872 Underground Cables 最小生成树
    UVALive 4870 Roller Coaster 01背包
    UVALive 4869 Profits DP
  • 原文地址:https://www.cnblogs.com/pang951189/p/7440752.html
Copyright © 2011-2022 走看看