按照格式输入并交换输出

按照格式输入并交换输出

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

分析:

本题考查scanf输入格式和两个整数的交换

解法1:

使用临时变量进行两个整数的交换

#include <bits/stdc++.h>
using namespace std;


int main() {

    int a = 0, b = 0, tmp;
    scanf("a=%d,b=%d", &a, &b);
    //使用中间变量tmp来交换两个数字
    tmp = a;
    a = b;
    b = tmp;
    printf("a=%d,b=%d\n", a, b);
    return 0;
}

解法2:

使用位运算来交换两个整数

#include <bits/stdc++.h>
using namespace std;


int main() {

    int a = 0, b = 0;
    scanf("a=%d,b=%d", &a, &b);
    //异或操作可以不需要借助临时变量交换两个数,
    //https://blog.csdn.net/zxm1306192988/article/details/50446399
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    printf("a=%d,b=%d\n", a, b);
    return 0;
}

总结:

本题思路简单,用于练习scanf的输入格式并掌握基本的整数交换方法。

全部评论
在前期,想使用位操作符不了解二进制会很难理解,前期,我们可以使用加、减法中的一些规律也可以不需要借助临时变量交换两个数 #include<stdio.h> int main() { int a = 0; int b = 0; scanf("a=%d,b=%d", &a, &b); a = a + b; b = a - b; a = a - b; printf("a=%d,b=%d", a, b); return 0; }</stdio.h>
点赞 回复 分享
发布于 2024-05-26 19:54 河南
大佬,还有一个范围-2的31次方~2的31次方-1的判断 这个判断怎么写?翻了一大部分代码都没看到教怎么写的
点赞 回复 分享
发布于 2024-01-29 23:31 湖北

相关推荐

02-23 19:06
已编辑
西北工业大学 Java
点赞 评论 收藏
分享
在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
评论
10
3
分享

创作者周榜

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