A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴冕 中级黑马   /  2013-4-23 21:12  /  1291 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴冕 于 2013-4-24 08:06 编辑

   static void Main(string[] args)
        {
            //交换两个int类型的变量 使用三种方法

            int n1 = 10;
            int n2 = 20;
            //第一种方法,写一个方法
            Change(n1, n2);
          //  第二种方法,数学公式
            //n1 = n1 - n2;
            //n2=n1+n2;
            //n1 = n2 - n1;
            


            //第三种方法 ,声明一个三方便量
            //int temp = 0;
            //temp = n1;
            //n1 = n2;
            //n2 = temp;

            Console.WriteLine("n1---{0},n2---{1}",n1,n2);
        }
      
        public static void Change(int n1, int n2)
        {
            int temp = 0;
            temp = n1;
            n1 = n2;
            n2 = temp;

        }

      
    }

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

3 个回复

倒序浏览
其实你的第一种跟第三种是相同的。开个玩笑,还可以把这两个数装进数组,然后调用swap方法{:soso_e110:}

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
wangyougu010 发表于 2013-4-23 21:17
其实你的第一种跟第三种是相同的。开个玩笑,还可以把这两个数装进数组,然后调用swap方法 ...

对啊  第一种和第三种是一样算法,不过他也是一种方法嘛,嘿嘿 面试的时候别人也算吧
回复 使用道具 举报
本帖最后由 xiaohu1218 于 2013-4-23 22:33 编辑

还可以使用异或操作:
n=n^m;
m=n^m;//任意数与另一个数异或操作两次得到的还是它本身
n=n^m;//相当于(n^m)^(n^m^m)=(n^m)^(n)=m
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马