程序填空题:将数组中的数逆序存放
以下程序段A和B的功能都是:将给定的$$n$$个整数存入数组中,将数组中的这$$n$$个数逆序存放,再按顺序输出数组中的这$$n$$个数。
```c++
/* 程序段A */
# define MAXN 10
int i, high, low, n, temp;
int num[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &num[i]);
}
@@[low = 0, high = n - 1;](1)
while@@[(low <= high) ](1){
temp = num[high];
num[high] = num[low];
num[low] = temp;
@@[low++, high--; ](1)
}
for(i = 0; i < n; i++) {
printf("%d ", num[i]);
}
printf("\n");
```
```c++
/* 程序段B */
# define MAXN 10
int i, n, temp;
int num[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &num[i]);
for@@[(i = 0; i < n/2; i++)](1) {
@@[temp = num[i], num[i] = num[n-i-1], num[n-i-1] = temp;](1)
}
for(i = 0; i < n; i++) {
printf("%d ", num[i]);
}
printf("\n");
```
答案:
第1空:low = 0, high = n - 1;
第2空:(low <= high)
第3空:low++, high--;
第4空:(i = 0; i < n/2; i++)
第5空:temp = num[i], num[i] = num[n-i-1], num[n-i-1] = temp;
```c++
/* 程序段A */
# define MAXN 10
int i, high, low, n, temp;
int num[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &num[i]);
}
@@[low = 0, high = n - 1;](1)
while@@[(low <= high) ](1){
temp = num[high];
num[high] = num[low];
num[low] = temp;
@@[low++, high--; ](1)
}
for(i = 0; i < n; i++) {
printf("%d ", num[i]);
}
printf("\n");
```
```c++
/* 程序段B */
# define MAXN 10
int i, n, temp;
int num[MAXN];
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &num[i]);
for@@[(i = 0; i < n/2; i++)](1) {
@@[temp = num[i], num[i] = num[n-i-1], num[n-i-1] = temp;](1)
}
for(i = 0; i < n; i++) {
printf("%d ", num[i]);
}
printf("\n");
```
答案:
第1空:low = 0, high = n - 1;
第2空:(low <= high)
第3空:low++, high--;
第4空:(i = 0; i < n/2; i++)
第5空:temp = num[i], num[i] = num[n-i-1], num[n-i-1] = temp;