输入n个整数,输出其中最小的k个 【输入形式】 第一行:整数数组 第二行:k
时间: 2024-01-22 07:18:42 浏览: 27
以下是使用 Python 语言实现的代码:
```python
arr = list(map(int, input().split())) # 输入整数数组
k = int(input()) # 输入 k
arr.sort() # 对数组进行排序
print(arr[:k]) # 输出最小的 k 个数
```
算法思路:先将输入的整数数组进行排序,然后输出最小的 k 个数即可。时间复杂度为 O(nlogn)。
相关问题
c语言输入n个整数,输出其中最小的k个 【输入形式】 第一行:整数数组 第二行:k
以下是一个简单的 C 语言程序,可以实现输入 n 个整数,输出其中最小的 k 个:
```c
#include <stdio.h>
void sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
int main() {
int n, k, i;
printf("请输入 n:");
scanf("%d", &n);
int arr[n];
printf("请输入 %d 个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("请输入 k:");
scanf("%d", &k);
sort(arr, n);
printf("最小的 %d 个数是:", k);
for (i = 0; i < k; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
程序中定义了一个 `sort` 函数,用于对输入的整数数组进行排序。然后在 `main` 函数中,读取输入的整数数组和 k,调用 `sort` 函数对整数数组进行排序,并输出数组中最小的 k 个数。
实现输入n个整数,输出其中最小的数,并指出它是第几个数。
可以先读入n个整数,然后遍历这些数,找到其中的最小值,并记录下它是第几个数。
可以使用一个变量min来记录当前找到的最小值,初始值可以设为第一个数。然后遍历剩下的数,如果找到一个比min更小的数,就更新min的值,并将对应的位置记录到变量pos中。最后输出min和pos即可。
下面是一个示例代码:
```python
n = int(input("请输入整数个数:"))
min = int(input("请输入第1个整数:"))
pos = 1
for i in range(2, n+1):
num = int(input("请输入第%d个整数:" % i))
if num < min:
min = num
pos = i
print("最小的数是%d,它是第%d个数。" % (min, pos))
```
这段代码先读入n和第一个数,然后从第二个数开始遍历,依次读入每个数并与min比较,更新min和pos,最后输出结果。