设计c语言程序实现以下功能:一个随机数组有10个元素,例如{1,8,10,2,-5,0,7,15,4,-5},利用指针作为函数参数,输出数组中最大和最小的元素值及其下标。 输入格式: "%d" 输出格式: "最大数是%d,其下标是%d,最小数%d,其下标是%d\n"
时间: 2024-03-22 13:37:48 浏览: 84
C语言程序设计-把20个随机数存入一个数组,然后输出该数组中的最大值;
5星 · 资源好评率100%
好的,以下是实现该功能的C语言程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void findMaxMin(int *arr, int size, int *maxVal, int *maxIdx, int *minVal, int *minIdx){
*maxVal = *minVal = *arr;
*maxIdx = *minIdx = 0;
for(int i=1; i<size; i++){
if(*(arr+i) > *maxVal){
*maxVal = *(arr+i);
*maxIdx = i;
}
if(*(arr+i) < *minVal){
*minVal = *(arr+i);
*minIdx = i;
}
}
}
int main(){
int arr[10];
srand(time(NULL)); // 初始化随机数种子
for(int i=0; i<10; i++){
arr[i] = rand() % 21 - 10; // 生成-10到10之间的随机整数
}
int maxVal, maxIdx, minVal, minIdx;
findMaxMin(arr, 10, &maxVal, &maxIdx, &minVal, &minIdx);
printf("最大数是%d,其下标是%d,最小数%d,其下标是%d\n", maxVal, maxIdx, minVal, minIdx);
return 0;
}
```
程序中的 `findMaxMin` 函数和前面的一样,用于查找数组中的最大值和最小值。在 `main` 函数中,我们定义了一个长度为10的数组 `arr`,并使用 `srand` 函数初始化随机数种子,然后使用 `rand` 函数生成-10到10之间的随机整数并将其存储到数组中。
接着,我们调用 `findMaxMin` 函数,并将最大值、最大值下标、最小值和最小值下标的地址传递给它。最后,我们使用 `printf` 函数输出结果。
需要注意的是,由于每次运行程序时生成的随机数都不同,所以每次输出的结果也不同。
阅读全文