输入整数n,再输入n个整数(n<=10),对这n个整数进行从小到大的排序,并输出。 格式提醒:输出的所有数字后均有一个空格,之后回车。C++
时间: 2024-02-25 13:53:40 浏览: 48
以下是C++代码实现:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
sort(arr, arr + n);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输入n和n个整数,存储在数组中,使用STL的sort函数排序,最后输出排序后的数组。
相关问题
输入 n 个整数和一个一个正整数k (1<=k<=n),输出这些整数从小到大排序后的第k个(例如,k=1就是最小值)。n<=10 7
这道题可以使用选择排序的思想,每次找到当前未排序部分中最小的数,放到已排序部分的末尾。具体步骤如下:
1. 输入 n 个整数和一个正整数 k。
2. 对这 n 个整数进行选择排序。
3. 输出排序后的第 k 个数。
代码如下:
```
#include <stdio.h>
int main() {
int n, k, i, j, tmp;
int arr[10];
printf("请输入整数个数n(n<=10): ");
scanf("%d", &n);
printf("请输入%d个整数: ", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("请输入k(1<=k<=n): ");
scanf("%d", &k);
for (i = 0; i < n - 1; i++) {
int min_index = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[min_index]) {
min_index = j;
}
}
tmp = arr[i];
arr[i] = arr[min_index];
arr[min_index] = tmp;
}
printf("排序后的%d个整数: ", n);
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
printf("第%d个数是: %d\n", k, arr[k - 1]);
return 0;
}
```
输入一个正整数n(1<n<=10),再输入n个整数,按绝对值从小到大排序输出
Sure, 我可以帮您解答这个问题。
请您输入一个正整数n,然后再输入n个整数,我将按照绝对值从小到大排序并输出结果。
(以下是代码实现)
```
n = int(input("请输入正整数n: "))
lst = list(map(int, input("请输入n个整数,用空格分隔: ").split()))
lst.sort(key=abs)
print("按照绝对值从小到大排序的结果为:", lst)
```
如果还有什么问题,可以直接问我哦。
阅读全文