已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-24
    通过一个中间变量来实现数据之间的交换

    int a = 1,b = 10;

    int temp = a;     // 将a的值先赋值给中间变量temp

    a = b;    //然后把b的值赋值给a

    b = temp;    //最后再把temp中存的a的值赋值给b

    System.out.println(a+" "+b);

    这种交换过程就像一个圆环,圆环上有三个值,顺时针或逆时针的将值赋给前(后)的变量。从而实现数据的交换,许多排序方法也是通过中间变量来达到小的数值放前面,大的数值放后面。

    不使用中间变量,通过加减运算符实现两个变量之间的数据交换。

    int a = 10, b = 20;

    a = a+b;    //此时的a=30;

    b = a-b;    //b=30-20=10,a=30不变

    a = a-b;    //a=30-10=20,a改变

    System.out.println(a+" "+b);

    不使用中间变量,通过位运算符实现两个变量之间的数据交换。

    int a = 11, b = 14;    //二进制:a=8 —— 1011,b=14 —— 1110

    a = a^b;         // a^b,异或运算,只有对应位数的值相等时才能返回1,否则返回0

                        // 所以a=a^b=1011^1110=1010;

    b = a^b;     // b=a^b=1010^1110=1011,即b=原本a的值

    a = a^b;    // a=a^b=1010^1011=1110,即a=原本b的值

    System.out.println(a+" "+b);

  • 已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序
    答:    通过一个中间变量来实现数据之间的交换     int a = 1,b = 10;    int temp = a;     // 将a的值先赋值给中间变量temp     a = b;    //然后把b的值赋值给a     b = temp...
  • C语言编程:已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序来...
    答:void fun(int &a,int &b){ int c;c=a;a=b;b=c;} 这样应该就可以了。尝试一下吧
  • ...已知a、b均是整型变量(假定a=10,b=25),写出将a,b两个变量中的值互 ...
    答:cin>>a>>b;t=a;a=b;b=t;直接用swap就可以交换 很简单头文件iostream//swap(a,b);cout<<a<<endl<<b;}
  • c语言 输入a和b两个整数,按先小后大的顺序输出a和b(交换指针)
    答:1、新建一个工程和.c文件 ,输入头文件和主函数。2、然后开始定义变量类型。3、输入a和b两个整数。4、对a和b两个不同的整数进行赋值。5、然后通过if语句实现值大小的比较。6、输出最后的结果。7、编译、运行,可以看见按先小后大的顺序输出a和b。
  • c语言编写程序;输入一个摄氏温度,要求输出华氏温度。公式为f=9/5*c+...
    答:程序如下:include <stdio.h> void main(){ float F,C;printf("请输入您需要转换的摄氏温度:");scanf("%f",&C);F = (C+32)*9/5.0;printf("其对应的华氏温度为:%.2f \n",F);}
  • 已知intx=10,y=12;写出将x和y的值互相交换的表达式
    答:a = a^b^(b=a)//相加再减 x=x+y y=x-y x=x-y //相乘再除 x=x*y y=x/y x=x/y 形式:把相等的式子(或字母表示的数)通过“=”连接起来。等式分为含有未知数的等式和不含未知数的等式。x+1=3——含有未知数的等式。2+1=3——不含未知数的等式。需要注意的是,个别含有...
  • java经典面试题
    答:答案:设2个栈为A,B, 一开始均为空. 入队: 将新元素push入栈A; 出队: (1)判断栈B是否为空; (2)如果不为空,则将栈A中所有元素依次pop出并push到栈B; (3)将栈B的栈顶元素pop出;这样实现的队列入队和出队的平摊复杂度都还是O(1), 比上面的几种方法要好。3.在c语言库函数中将一个字符转换成整型...
  • C语言 小题目
    答:1、include<stdio.h> void main(){ float a=80.5,b=90.9,c=78.6,sum,ave;sum=a+b+c;ave=sum/3;printf("小明的成绩是:\n\t英语\t%.1f\n\t计算机\t%.1f\n\t数学\t%.1f\n\t总分\t%.1f\n\t平均分\t%.1f\n",a,b,c,sum,ave);//这里的/t就是制表符的意思 } 4、...
  • ...B(-1,0),C(-4,3).(1)求出△ABC的面积.(2)写出将
    答:(1)根据题意,得:AB=5-0=5;∴S△ABC=12AB?(|xC|-1)=12×5×3=7.5.(2)所画图形如下所示:△A1B1C1即为所求,A1(2,5);B1(2,0);C1(-1,3);(3)所画图形如下所示:
  • 已知int x=10,y=12;写出将x和y的值互相交换的表达式。
    答:include<iostream.h> void main(){ int x=10,y=12;int t,*p1=&x,*p2=&y,temp;//t=x;//x=y;//y=t;//cout<<x<<","<<y<<endl;temp=*p1;p1=*p2;p2=temp;cout<<x<<","<<y<<endl;} 注释掉的也是一种