第7课 阿布拉卡达布拉《小学生C++趣味编程》

#include<iostream>
using namespace std;
int main()
{
	int a,b,t; 
	
	a=10;
	b=20; 
	
	cout<<"a="<<a<<"  b="<<b<<endl;  //输出交换前a,b的值 
	
	t=a;
	a=b;
	b=t;
	
	cout<<"a="<<a<<"  b="<<b<<endl;  //输出交换后a,b的值
	
	return 0;
}
//还有别的办法交换a,b中的值吗?

 

 


 

 


/*
第7课 2.阅读程序写结果 方法二 
*/
#include <iostream>
using namespace std;
int main()
{
   int a,b; 		
		
   a=15;
   b=20;	
	
   a=b-a;//  a=20-15
   
   //使得最开始的b值变为最开始的a值 
   b-=a;
   //b=b-a;  20-(20-15)=20-20+15=15
   //b=b-(b-a)=b-b+a=a 将b的值变为a的值 
   
   //使得最开始的a变为最开始的b值 
   a+=b;
   //a=a+b;
   //a=b-a+a=b 
   		
   cout<<"a="<<a<<" b="<<b<<endl; 

   return 0;       
}
/*
方法三 
*/
#include <bits/stdc++.h>
using namespace std;
int main( void )
{
	int a,b;
	
	a=15;
	b=16;
	
	//不用临时的变量的交换 
	/*
	a=b-a;//b-a=100
	b-=a; //b=b-a  b=100
	a+=b; //a=a+b; a=200
	*/
	a=a+b-(b=a);
	
	cout<<"a="<<a<<" b="<<b<<endl;
	
	return 0;
}
/*
方法四 
*/
#include <bits/stdc++.h>
using namespace std;
int main( void )
{
	int a,b;
	
	a=100;
	b=200;
	
	//不用临时的变量的交换 
	/*
	a=b-a;//b-a=100
	b-=a; //b=b-a  b=100
	a+=b; //a=a+b; a=200
	*/
	
	//a=a+b-(b=a);
	//a=a^b; //^ 异或 
	//a=a^b; // ^ 异或
	//a=a^b; // ^ 异或

	a^=b^=a^=b;
	
	cout<<"a="<<a<<" b="<<b<<endl;
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/dllglvzhenfeng/article/details/121806993