输入一组正整数,以-1结束,按照由小到大的排好顺序后,将奇数位置的数据输出。
时间: 2024-03-03 08:50:54 浏览: 22
好的,我能理解你的问题。以下是一个Python的解决方案:
```python
nums = []
while True:
num = int(input())
if num == -1:
break
nums.append(num)
nums.sort()
for i in range(1, len(nums), 2):
print(nums[i])
```
这个程序会初始化一个空列表 `nums`,并且在一个循环中不断读入输入的整数。当输入 `-1` 时,循环结束。接下来,程序对 `nums` 列表进行排序,然后通过一个 `for` 循环来输出奇数位置的数据。需要注意的是,Python 中的列表下标从 0 开始,所以代码中使用的是 `range(1, len(nums), 2)` 来遍历奇数下标位置。
希望这个解决方案能够帮到你!
相关问题
输入一组正整数,以-1结束,按照由小到大的排好顺序后,将奇数位置的数据输出 c++
好的,以下是一个 C++ 的解决方案:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> nums;
while (true) {
int num;
cin >> num;
if (num == -1) {
break;
}
nums.push_back(num);
}
sort(nums.begin(), nums.end());
for (int i = 1; i < nums.size(); i += 2) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
```
这个程序使用了 C++ STL 中的 vector 来存储输入的整数,然后使用 sort 函数对它们进行排序。最后通过一个 `for` 循环遍历奇数位置的数据并输出。需要注意的是,由于 C++ 的下标也是从 0 开始的,所以代码中使用的是 `i += 2` 来遍历奇数下标位置。
希望这个解决方案能够帮到你!
编写程序test21.sh,shell 从键盘输入一组整数,以-1结束。输出该批数据中最大值和
编写test21.sh程序如下:
```shell
#!/bin/bash
echo "请输入一组整数,以-1结束:"
# 读取用户输入的整数
read num
max=$num
sum=0
# 判断输入的数是否为-1,如果不是-1则继续输入
while [ $num -ne -1 ]
do
if [ $num -gt $max ]; then
max=$num
fi
sum=$((sum+num))
read num
done
# 输出最大值和总和
echo "输入的整数中最大值为:$max"
echo "输入的整数的总和为:$sum"
```
用户运行程序后,可以输入一组整数,以-1结束。程序会输出该批数据中的最大值和总和。例如,用户输入5 8 3 10 -1,输出结果为最大值为10,总和为26。