gpt4 book ai didi

c++ - 在不使用第三个数组的情况下交换两个变量的值

转载 作者:行者123 更新时间:2023-11-30 03:50:05 25 4
gpt4 key购买 nike

我正在编写一个程序,它接受用户输入来确定一对数字并交换用户输入的所有对的值。

例如:

用户想输入 3 对,那么他会输入 3,然后输入对:

31 23 45 6

输出:

2 14 36 5

我的程序给出了正确的输出,但不是一次获取所有对,而是一对一地获取并给出输出。我有一个模糊的想法,这可以通过使用数组来解决,但不确定如何解决。请帮忙。

这是我的代码:

#include <stdio.h>
int main()
{
int x, y, p, i;
//int a [100], b[100];
printf ("How many pairs?\n");
scanf ("%d", &p);
for(i=1; i<=p; i++)
{
printf ("Enter two values:\n");
scanf("%d %d",&x,&y);

x = x + y;
y = x - y;
x = x - y;
//a[i]=x;
//b[i]=y;



printf("\n");
printf("After Swapping: x = %d, y = %d\n", x, y);
}

return 0;
}

目前输出如下:

有几对?2

输入两个值:2 3

交换 x= 3 和 y=2 之后

输入两个值:4 5

交换 x= 5 和 y=4 后。我希望它把所有 4 个值放在一起并显示输出。

最佳答案

我认为,您正在寻找这样的东西(您只需要一个数组;您可以直接按交换顺序存储值):

for(i=0; i<p; i++) {
scanf("%d %d",&x,&y);
a[2*i+1]=x;
a[2*i]=y;
}
for(i=0; i<2*p; i++) {
printf("%d ", a[i]);
}
printf("\n");

关于c++ - 在不使用第三个数组的情况下交换两个变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com