题解 | #按照格式输入并交换输出#

按照格式输入并交换输出

http://www.nowcoder.com/practice/95eb723a3e854376a7eb6d116cc7d875

#include <stdio.h>

//解法一:找中间量交换
// void exchange(int* x, int* y)
// {
//     int tmp = 0;
//     tmp = *x;
//     *x = *y;
//     *y = tmp;
// }

//解法二:不用中间变量交换
// void exchange(int* x, int* y)
// {
//     *x = *x + *y;
//     *y = *x - *y;
//     *x = *x - *y;
// }

//解法三:利用异或
void exchange(int* x, int* y)
{
    *x = *x ^ *y;
    *y = *x ^ *y;
    *x = *x ^ *y;
}

void print(int x, int y)
{
    printf("a=%d,b=%d", x, y);
}

int main()
{
    int a = 0;
    int b = 0;
    //输入
    scanf("a=%d,b=%d", &a, &b);
    //交换
    exchange(&a, &b);
    //输出
    print(a, b);

    return 0;
}
编程初学者入门训练 文章被收录于专栏

针对编程初学者入门训练130题的代码详解专栏,内附注释方便理解,牛客130题的代码均用C语言实现,方便初学者学习。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务