作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个程序,它接受用户输入来确定一对数字并交换用户输入的所有对的值。
例如:
用户想输入 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/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!