/*********************************************
*功能:函数的使用,对两个数取大 *
* *
*********************************************/
#include<iostream>
using namespace std;
int max(int x,int y)
{
int z;
z=(x>y)?x:y;
return z;
}
int main()
{
int a,b;
cin>>a>>b;
cout<<max(a,b)<<endl;
return 0;
}
/************************************
*功能:函数的传值调用,将两个数交换 *
* *
************************************/
#include<iostream>
using namespace std;
void swap(int a,int b)
{
int t;
t=a,a=b,b=t;
}
int main()
{
int x=2,y=5;
cout<<"x="<<x<<" y="<<y<<endl;
swap(x,y);
cout<<"after swap:";
cout<<"x="<<x<<" y="<<y<<endl;
return 0;
}
/*******************************************************
*功能:函数的嵌套调用,求三个数中最大数和最小数的差值 *
* *
*******************************************************/
#include<iostream>
using namespace std;
int max(int x,int y,int z)
{
int t;
t=x>y?x:y;
return(t>z?t:z);
}
int min(int x,int y,int z)
{
int t;
t=x<y?x:y;
return(t<z?t:z);
}
int dif(int x,int y,int z)
{
return max(x,y,z)-min(x,y,z);
}
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<"Max-Min="<<dif(a,b,c)<<endl;
return 0;
}
/************************************
*功能:函数的递归调用,求n *
* *
************************************/
#include<iostream>
using namespace std;
int fac(int n)
{
int t;
if(n==1)
t=1;
else
t=n*fac(n-1);
return (t);
}
int main()
{
const int max_n=12;
int n;
cout<<"Input a interqer number:";
cin>>n;
if(n>=1&&n<=max_n)
cout<<"Factorial of"<<n<<"is:"<<fac(n)<<endl;
else
cout<<"Invailidn."<<endl;
return 0;
}
/***********************************
*功能:用递归法求解汉诺塔问题 *
* *
***********************************/
#include<iostream>
using namespace std;
void move(int n,char source,char target)
{
cout<<"("<<n<<","<<source<<"--->"<<target<<")"<<endl;
}
void hanoi(int n, char A,char B,char C)
{
if(n==1)
move(1,A,C);
else {
hanoi(n-1,A,C,B);
move(n,A,C);
hanoi(n-1,B,A,C);
}
}
int main()
{
int num;
cout<<"Input the number of disk:";
cin>>num;
hanoi(num,'A','B','C');
return 0;
}
/****************************
*功能:函数的重载 *
*
****************************/
#include<iostream>
using namespace std;
int add(int x,int y)
{
cout<<"(int,int)\t";
return x+y;
}
double add(double x,double y)
{
cout<<"(double,double)\t";
return x+y;
}
int add(int x,double y)
{
cout<<"(int,double)\t";
return int(x+y);
}
double add(double x,int y)
{
cout<<"(double,int)\t";
return x+y;
}
int main()
{
cout<<add(9,8)<<endl;
cout<<add(9.0,8.0)<<endl;
cout<<add(9,8.0)<<endl;
cout<<add(9.0,8)<<endl;
return 0;
}
/*********************************************
*功能:利用系统函数rand()随机产生学生成绩 *
*
*********************************************/
#include<iostream>
using namespace std;
int main()
{
int x,i(0);
srand(124);
do
{
x=rand();
if(x>=5<=1000)
{
x=(x/5)*5;
cout<<x/10.0<<"\t";
i++;
}
}while(i<100);
return 0;
}