给定一组整数,求其中的最大,最小,绝对值最大和绝对值最小的数。 第一行输入正整数n,表示输入的整数个数,2<=n<=100。 第二行是n个整数。 输出n个整数中的最大值,最小值,绝对值最大值和绝对值最小值
时间: 2023-06-20 20:09:54 浏览: 169
以下是 Python 代码实现:
```python
n = int(input()) # 输入整数个数
nums = list(map(int, input().split())) # 输入整数列表
max_num = max(nums) # 最大值
min_num = min(nums) # 最小值
abs_max = max(nums, key=abs) # 绝对值最大值
abs_min = min(nums, key=abs) # 绝对值最小值
print(max_num, min_num, abs_max, abs_min) # 输出结果
```
例如输入:
```
5
-3 2 -5 7 1
```
输出:
```
7 -5 -5 1
```
相关问题
给定一组整数,使用选择排序算法将其排列成从小到大、绝对值从大到小两种结果。第一行输入正整数n,表示输入的整数个数,2<=n<=100。 第二行是n个整数。输出n个整数的从小到大、绝对值从大到小的两种排序结果。C++
以下是C++代码实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
void selectionSort(int arr[], int n) { // 选择排序
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex])
minIndex = j;
}
swap(arr[i], arr[minIndex]);
}
}
void absoluteSelectionSort(int arr[], int n) { // 按绝对值从大到小排序
for (int i = 0; i < n - 1; i++) {
int maxIndex = i;
for (int j = i + 1; j < n; j++) {
if (abs(arr[j]) > abs(arr[maxIndex]))
maxIndex = j;
}
swap(arr[i], arr[maxIndex]);
}
}
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++)
cin >> arr[i];
selectionSort(arr, n); // 从小到大排序
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
absoluteSelectionSort(arr, n); // 按绝对值从大到小排序
for (int i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
return 0;
}
```
输入示例:
```
5
-3 2 1 -4 5
```
输出示例:
```
-4 -3 1 2 5
5 -4 -3 2 1
```
题目3:最小差值\n问题描述\n 给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。\n输入格式\n 输入第一行包含一个整数n。\n 第二行包含n个正整数,相邻整数之间使用一个
空格分隔。\n输出格式\n 输出一个整数,表示相差最小的两个数的差值的绝对值。\n样例输入\n5\n1 5 4 8 20\n样例输出\n1\n样例说明\n 相差最小的两个数是5和4,它们之间的差值是1。\n数据规模与约定\n 对于所有评测用例,2 ≤ n ≤ 1000,每个给定的整数都是不超过10000的正整数。
阅读全文