西柚西柚 发表于 2020-11-14 17:45:31

交换位置

交换位置

键盘输入若干个整数,按照要求交换两个整数的位置:即第1个和第2个交换,第3个和第4个交换。如果没有,则不交换。
输入


输入只有一个用例,占两行,第一行是整数个数n,第二个是n个整数。


输出


用一行输出交换后的结果,每个整数之间用一个空格隔开。


样例输入

5
1 2 3 4 5
样例输出

2 1 4 3 5




风过无痕1989 发表于 2020-11-14 18:04:04

题目没有错吧?是只交换 1、2、3、4 的位置,而不是俩俩交换?

若只交换 1、2、3、4 的位置,循环都不用,多设一个临时的中间变量,直接换就好了

jackz007 发表于 2020-11-14 18:09:28

本帖最后由 jackz007 于 2020-11-14 18:12 编辑

#include <stdio.h>

main(void)
{
       int d , e , k , m                           ;
       scanf("%d" , & m)                               ;
       for(k = 0 ; k < m ; k ++) scanf("%d" , & d);
       for(k = 1 ; k < m ; k += 2) {
               e = d                            ;
               d = d                         ;
               d = e                              ;
       }
       printf("%d" , d)                           ;
       for(k = 1 ; k < m ; k ++) printf("\t%d" , d) ;
       printf("\n")                                    ;
}
      编译、运行实况:
D:\00.Excise\C>g++ -o x x.c

D:\00.Excise\C>x
5
1 2 3 4 5
2       1       4       3       5

D:\00.Excise\C>

weiter 发表于 2020-11-14 18:11:49

风过无痕1989 发表于 2020-11-14 18:04
题目没有错吧?是只交换 1、2、3、4 的位置,而不是俩俩交换?

若只交换 1、2、3、4 的位置,循环都不用 ...

如果是python的话这个就简单好多啊,都不用中间变量的……
直接就可以
a = 1
b = 2
c = 3
d = 4
e = 5
a,b,c,d,e=b,a,d,c,e

风过无痕1989 发表于 2020-11-14 18:30:54

weiter 发表于 2020-11-14 18:11
如果是python的话这个就简单好多啊,都不用中间变量的……
直接就可以

不懂 PY 呀
页: [1]
查看完整版本: 交换位置