问题描述
题目描述
给定一个整数数组,编写一个程序实现以下功能:
1. 将输入的整数数组倒序输出,每个数之间用空格分隔。
2. 从正序数组中,每隔一个单位(即索引为奇数的元素),输出其值,同样用空格分隔。
输入描述
第一行包含一个整数 n,表示数组的长度。
接下来一行包含 n 个整数,表示数组的元素。
输出描述
首先输出倒序排列的数组元素,然后输出正序数组中每隔一个单位的元素。
输入示例
5
2 3 4 5 6
输出示例
6 5 4 3 2
2 4 6
提示信息
数据范围:
1 <= n <= 1000.
python解法
n = int(input()) # 输入数组长度
nums = list(map(int, input().split())) # 输入数组元素,将其分割并转换为整数列表
# 倒序输出元素,每个数之间用空格分隔
for i in range(n-1, -1, -1):
print(nums[i], end=" ")
# 换行输出
print()
# 隔位输出元素,每个元素之间用空格分隔
for i in range(0, n, 2):
print(nums[i], end=" ")
C++解法
# include<iostream>
# include<vector>
int main(){
int n;
std::cin >> n; // 获取输入数组长度
int arr[n]; // 声明一个大小为 n 的整数数组
// 输入数组元素
for (int i = 0; i < n; i++){
std::cin >> arr[i];
}
// 倒序输出数组元素,每个数之间用空格分隔
for (int i = n-1; i >=0; i--){
std::cout << arr[i];
if (i > 0) std::cout << " ";
}
printf("\n"); // 换行输出
// 隔位输出数组元素,中间用空格分隔
for (int i = 0; i < n; i += 2){
std::cout << arr[i];
if (i < n - 1) std::cout << " ";
}
// // 定义一个整型vector
// std::vector<int> nums;
// int n, num;
// std::cin >> n; // 输入数组长度
// // 循环输入数组中的数字
// while (n--){
// std::cin >> num;
// // 使用 push_back 方法动态添加元素
// nums.push_back(num);
// }
// // 倒序输出数组元素,中间用空格分隔,使用size()表示vector的大小
// for (int i = nums.size()-1; i >= 0; i--){
// std::cout << nums[i];
// if (i > 0) std::cout << " ";
// }
// std::cout << std::endl;
// // 隔位输出数组元素,中间用空格分隔,使用size()表示vector的大小
// for (int i = 0; i < nums.size(); i += 2){
// std::cout << nums[i];
// if (i < nums.size() - 1) std::cout << " ";
// }
return 0;
}