Problem E: 编写函数:Swap (I) (Append Code)
Time Limit: 1 Sec Memory Limit: 16 MB
Submit: 18942 Solved: 12144
[
Submit
][
Status
]
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”中用到的头文件、全局变量或宏的定义应自行补充。
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;
}
答案:
#include <iostream>
using namespace std;
void Swap(int* x,int* y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
void Swap(int& x,int& y)
{
int t;
t=x;
x=y;
y=t;
}
void Swap(double* x,double* y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
void Swap(double& x,double& y)
{
int t;
t=x;
x=y;
y=t;
}
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;
}
分析:
指针
引用
函数重载
版权声明:本文为hzywxmd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。