C语言编写数组中一定范围内的最小值,输入格式: 第一行先给出非负整数N; 第二行给出N个整数; 输出格式: 第一行输出N个整数; 以后每行输出数组不同范围内最小值的下标。
时间: 2024-03-17 10:40:50 浏览: 58
C语言程序设计-把20个随机数存入一个数组,然后输出该数组中的最小值;其中确定最小值的下标的操作在fun函数中实现
5星 · 资源好评率100%
下面是一个示例程序,可以实现你的需求:
```
#include <stdio.h>
int findMin(int arr[], int start, int end) {
int min = arr[start];
int minIndex = start;
for (int i = start + 1; i <= end; i++) {
if (arr[i] < min) {
min = arr[i];
minIndex = i;
}
}
return minIndex;
}
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
for (int i = 0; i < n; i++) {
int minIndex = i;
printf("%d", arr[i]);
for (int j = i + 1; j < n; j++) {
int min = findMin(arr, i, j);
if (arr[min] < arr[minIndex]) {
minIndex = min;
}
printf(" %d", arr[minIndex]);
}
printf("\n");
}
return 0;
}
```
在上面的代码中,我们首先读入整数`n`和数组`arr`,然后使用两个循环来遍历不同的数组范围并输出最小值的下标。在内层循环中,我们使用`findMin`函数来查找数组中指定范围的最小值,并将其下标与当前最小值的下标进行比较,以便输出正确的结果。
阅读全文