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"));

      

  • 相关阅读:
    get请求中文乱码及get,post编码探究
    spring使用redis做缓存
    tomcat中session在两个webapp中实现共享
    JDK8 HashMap 源码解析
    Windows Apache服务器配置
    怎么使用IDEA
    面试中的Java链表
    设计模式解密(12)- 桥接模式
    Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    设计模式解密(11)- 命令模式
  • 原文地址:https://www.cnblogs.com/lcxBlog/p/4896118.html
Copyright © 2011-2022 走看看