给定n(n是偶数,且n≤100)个正整数,所有正整数均<=1000;从前往后依次遍历这个数组,每两个为一组进行处理,若一组中的两个元素恰好一个为奇数,一个为偶数,则交换这两个元素的位置;否则不动;全部处理完成后,逆序输出整个组。
例如给定序列:62 12 25 55,处理完成后得到:55251262
给定序列:6734,处理完成后得到:3467
给定序列:68 7199 1219 23,处理完成后得到:23 19 99 12 68 71
给定序列:279 27 725463 2361,处理完成后得到:61 23 54 63 27
72279
格式
输入格式
输入为两行。第一行是一个正整数n,表示有多少个数据。第二行是n个正整数组成的序列。
输出格式
输出一行n个正整数,是上述序列处理之后的结果。
#include <stdio.h>
#define N 100
int main()
{
int n;
int a[N];
scanf("%d", &n);
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
for (int i = 0; i < n; i += 2)
{
if ((a[i] + a[i + 1]) % 2 != 0)
{
int t = a[i];
a[i] = a[i + 1];
a[i + 1] = t;
}
}
for (int i = n - 1; i >= 0; i--)
printf("%d ", a[i]);
return 0;
}