zoukankan      html  css  js  c++  java
  • 经典试题

    1、声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。

    扩展(*):不使用第三个变量如何交换?

    用方法来实现:封装一个方法来做。
    * 提示:方法有两个参数n1,n2,在方法中将n1与n2进行交换,使用ref。

            static void Main(string[] args)
            {
                int n1 = 10, n2 = 20;
                Console.WriteLine("交换之前:n1 = {0}, n2 = {1}", n1, n2);
                //不使用方法来做
                //n1 = n1 + n2;
                //n2 = n1 - n2;
                //n1 = n1 - n2;
                Swap(ref n1, ref n2);
                Console.WriteLine("交换之后:n1 = {0}, n2 = {1}", n1, n2);
                Console.ReadKey();
            }
    
            static void Swap(ref int n1,ref int n2) 
            {
                n1 = n1 + n2;
                n2 = n1 - n2;
                n1 = n1 - n2;
            }

       上面的Swap方法中,还可以使用另一种方式交换变量。

      n1 = n1 - n2;  // 10 - 20  得到结果:n1 = -10

         n2 = n1 + n2; // 20 + (-10)  得到结果:n2 = 10

         n1 = n2 - n1;  //  10 - (-10)  得到结果:n1 = 20

    2.  判断是否是质数(素数)

            static bool IsPrime(int n) 
            {
                if (n < 2) 
                {
                    return false;
                }
                else
                {
                    for (int i = 2; i < n; i++)
                    {
                        if (n % i == 0)
                        {
                            return false;
                        }
                    }
                    return true;
                }
            }

    3.  四舍五入

      题目会要求,显示小数点后两位(四舍五入)

      按照C语言,自写的算法。先将double类型的数据乘以1000后转换为int类型;再取出最后一位数字,若大于等于5,

    则将给这个int类型的数据加上10;最后将int类型的数据乘以1.0转换为double类型后,除以1000,得到最终的结果。

            static double Drop4Round5(double d) 
            {
                int n = (int)(d * 1000);
                int nLast = n % 10;
                if (nLast >= 5)
                {
                    n += 10;
                }
                n = n/10;
                double db = (1.0 * n) / 100;
                return db;
            }

      其实我们可以借助ToString方法更快地解决问题,ToString可以根据指定的格式将double类型的数值转换为等效字符串表示形式。如1.23456,保留后两位小数,四舍五入,得到字符串 “1.23”。最后调用Convert类的ToDouble方法即可。

        avg = Convert.ToDouble(avg.ToString("0.00"));

      

  • 相关阅读:
    你的项目中使用过哪些JSTL标签?
    编程用JAVA解析XML的方式?
    用jdom解析xml文件时如何解决中文问题?如何解析?
    SpringMVC 的核⼼⼊⼝类是什么?Struts1,Struts2 的分别是什么?
    SpringMVC 的异常处理 ?
    SpringMVC 里面拦截器如何写?
    谈谈Hibernate中inverse的作用?
    Hibernate中session有几种创建方式?都有那些区别?
    Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)?
    Shiro认证过程?
  • 原文地址:https://www.cnblogs.com/lcxBlog/p/4896118.html
Copyright © 2011-2022 走看看