目录
  1. 1. 数据交换
    1. 1.1. 问题描述
    2. 1.2. 问题分析
    3. 1.3. 代码实现
    4. 1.4. 运行结果
    5. 1.5. 总结
数据交换

数据交换

问题描述

问题描述
  编写一个程序,输入两个整数,分别存放在变量x和y当中,然后使用自己定义的函数swap来交换这两个变量的值。
  输入格式:输入只有一行,包括两个整数。
  输出格式:输出只有一行,也是两个整数,即交换以后的结果。
  要求:主函数负责数据的输入与输出,但不能直接交换这两个变量的值,必须通过调用单独定义的函数swap来完成,而swap函数只负责交换变量的值,不能输出交换后的结果。
输入输出样例

样例输入

4 7

样例输出

7 4

问题分析

代码实现

指针方式实现

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//通过指针完成
void swap(int *x,int *y){
int temp=*x;
*x=*y;
*y=temp;
}
int x,y;
int main(){
cin>>x>>y;
swap(x,y);
cout<<x<<" "<<y;
return 0;
}

地址引用方式实现

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
//地址引用方式
void swap(int &x,int &y){
int temp=x;
x=y;
y=temp;
}

int x,y;
int main(){
cin>>x>>y;
swap(x,y);
cout<<x<<" "<<y;
return 0;
}

运行结果

5 4
4 5
--------------------------------
Process exited after 2.646 seconds with return value 0
请按任意键继续. . .

总结

数据的交换,就是值的交换,本题要求通过自定义函数,不可以在主函数直接交换两个函数的值,那么采用取指针形式或者交换引用地址形式,做到两个变量值的交换与改变

文章作者: Jachie Xie
文章链接: https://xjc5772.github.io/2020-01/19/%E7%AE%97%E6%B3%95/%E8%93%9D%E6%A1%A5%E6%9D%AF%E5%88%9D%E7%BA%A7%E8%AE%AD%E7%BB%83/%E6%95%B0%E6%8D%AE%E4%BA%A4%E6%8D%A2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XJC&Blog
打赏
  • 微信
  • 支付宝

评论