Problem E: 编写函数:Swap (I) (Append Code)
Description
编写用来交换两个数的函数,使得“Append Code”中的main()函数能正确运行。
-----------------------------------------------------------------------------
用C实现三个函数int_swap()、dbl_swap()、SWAP(),其中SWAP()是个带参宏。
用C++实现两个函数,都以Swap()命名。
以上函数的调用格式见“Append Code”。这里不给出函数原型,它们的参数请通过main()函数自行确定。
Input
输入为4行,每行2个数。
Output
输出为4行,每行2个数。每行输出的两数为每行输入的逆序。
Sample Input
12 57 9 -3 -12 4 3 5
Sample Output
57 12 -3 9 4 -12 5 3
HINT
“Append Code”中用到的头文件、全局变量或宏的定义应自行补充。
头文件
int
main()
{
int
x1, y1;
cin>>x1>>y1;
Swap(&x1, &y1);
cout<<x1<<
" "
<<y1<<endl;
cin>>x1>>y1;
Swap(x1, y1);
cout<<x1<<
" "
<<y1<<endl;
double
x2, y2;
cin>>x2>>y2;
Swap(&x2, &y2);
cout<<x2<<
" "
<<y2<<endl;
cin>>x2>>y2;
Swap(x2, y2);
cout<<x2<<
" "
<<y2<<endl;
}
解析:此题描述有问题,分析主函数,明显得出Swap有四种重载函数,int和double,传值和传地址。复习函数传地址值如何进行交换
ac代码
#include<iostream>
#include<iomanip>
using namespace std;
void Swap(int &x,int &y)
{
int z;
z=x;
x=y;
y=z;
}
void Swap(int *x,int *y)
{
int z;
z=*x;
*x=*y;
*y=z;
}
void Swap(double &x,double &y)
{
double z;
z=x;
x=y;
y=z;
}
void Swap(double *x,double *y)
{
double z;
z=*x;
*x=*y;
*y=z;
}
#include<iomanip>
using namespace std;
void Swap(int &x,int &y)
{
int z;
z=x;
x=y;
y=z;
}
void Swap(int *x,int *y)
{
int z;
z=*x;
*x=*y;
*y=z;
}
void Swap(double &x,double &y)
{
double z;
z=x;
x=y;
y=z;
}
void Swap(double *x,double *y)
{
double z;
z=*x;
*x=*y;
*y=z;
}
相关推荐
xhpscdx 2020-05-17
chaigang 2020-02-25
歆萌 2020-02-02
chunianyo 2019-12-21
疯狂紫萧 2019-12-14
PHP淮北PHP00网 2013-09-17
QCkiss 2019-11-04
歆萌 2019-11-03
Kwong 2019-10-22
宇智波鼬 2018-08-30
zhrookie 2011-11-18
81423067 2015-06-02
wewoor 2015-12-27
lizaochengwen 2019-03-19
stSahana 2016-11-01
yangno 2017-03-23