编写程序,输入两个整数a和b,交换它们的值,然后输出,输入样例1 3 ,输出样例3 1还有输入样例-1 1,输出样例1 1。我不明白怎么做,也搞不懂这些数字有什么区别,第一次接触这个,有点超出我的认知(我反应有点慢,希望各位朋友能够解答详细点,万分感谢😊)
可以这样:
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d",&a,&b);
c=a,a=b,b=c;
printf("%d %d",a,b);
return 0;
}
或者直接这样:
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d %d",b,a);
return 0;
}
这是一个简单的数字交换的题目,只是增加了一个负数变为正数的逻辑
int main()
{
int a = 1, b = 2;
//要想把a, b交换,最简单的是使用加法,网上有一些其他方案,你可以整理一下
a = a + b; //求和 a是原来a和b的和
// =左边是变量 给这个变量重新赋值 =右边是原变量 用原变量的值 先看=右边的逻辑,再看左边
b = a - b; // a是原来a,和b的和, b是原来的b, a-b是原来的a 这个不就是把原来的a 赋值给b
a = a - b; // 同上,a赋值为原来b的值
//下面这个是完整逻辑,你可以封装个函数,输入c和d。。。
//上面的逻辑就是交换a和b的逻辑 如果有负数,要符合要求 是不是可以先把负数变为正数,再交换
int c = -1, d = 2;
//先把负数变为正数
if (c < 0)
{
c = -c;
}
if (d < 0)
{
d = -d;
}
//按照交换的逻辑处理 好像还有一种异或的方案 你可以试试
c = c + d;
d = c - d;
c = c - d;
//c是2 d是1
return 0;
}
#include <stdio.h>
int main()
{
printf("输入两个整数a和b:");
int a,b;
scanf("%d%d",&a,&b);
int tem=a;a=b;b=tem;
printf("%d %d",a,b);
return 0;
}
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
a=a+b;b=a-b;a=a-b;
printf("%d %d",a,b);
return 0;
}