吃语言程序编写:有一个数组arr,存放了10个整数,创建函数min_fun( )求数组arr中元素的最小值的下标值和次最小值的下标,最终在主函数中输出arr数组中的最小值和次最小值。
时间: 2023-12-30 08:04:12 浏览: 70
好的,我可以帮你解决这个问题。下面是代码实现:
```c
#include <stdio.h>
void min_fun(int arr[], int size, int *min_index, int *second_min_index) {
*min_index = 0;
*second_min_index = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < arr[*min_index]) {
*second_min_index = *min_index;
*min_index = i;
} else if (arr[i] < arr[*second_min_index]) {
*second_min_index = i;
}
}
}
int main() {
int arr[10] = {5, 3, 7, 2, 8, 4, 9, 1, 6, 0};
int min_index, second_min_index;
min_fun(arr, 10, &min_index, &second_min_index);
printf("最小值:%d,次最小值:%d\n", arr[min_index], arr[second_min_index]);
return 0;
}
```
函数`min_fun()`接受一个整数数组`arr`、数组大小`size`、指向最小值下标的指针`min_index`、指向次最小值下标的指针`second_min_index`。在函数中,我们使用两个变量来记录最小值和次最小值的下标,最终通过指针返回给调用者。在主函数中,我们声明一个大小为10的整数数组并初始化,然后调用`min_fun()`函数计算最小值和次最小值的下标,并输出结果。
希望可以帮到你!
阅读全文