Kaygb's wiki

蓝桥算法训练-数据交换

试题 算法训练 数据交换

资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

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

输入输出样例

样例输入

4 7

样例输出

7 4

分析

写一个函数,将传入的值写入一个数组,然后返回数组。 这里使用指针指向数组的地址,要返回数组的时候,函数内部的数组一定要用static修饰一下,不然会报错。

代码

#include <iostream>
using namespace std;
int * swap(int x,int y);
int main() {
    int x,y;
    cin >> x >> y;
    int *p;
    p = swap(x,y);
    cout << *(p) << " " << *(p+1);
    return 0;
}
int * swap(int x,int y){
    static int arr[2];
    arr[1] = x;
    arr[0] = y;
    return arr;
}