选择题 · 答案 6,5,4,3,2,1, · 考点:输入输出、位运算、循环结构、一维数组
← 整套速查表 NOIP 提高组初赛 全部真题#include <iostream>
using namespace std;
int main()
{
int a[6] = {1, 2, 3, 4, 5, 6};
int pi = 0;
int pj = 5;
int t, i;
while (pi < pj)
{
t = a[pi];
a[pi] = a[pj];
a[pj] = t;
pi++;
pj--;
}
for (i = 0; i < 6; i++)
cout << a[i] << ",";
cout << endl;
return 0;
}输出:_________
看到双指针 pi/pj 向中间靠拢交换,直接判定为数组原地反转。
易漏输出末尾逗号;误判循环条件 pi<=pj 导致多交换一次。
考点:数组反转(双指针)
输入整型数组,利用双指针从两端向中间交换元素实现原地反转,最后按格式输出。