功能:求一批数中最大值和最小值的积。 请补充下列程序,使其输出正确结果。 #define N 30 #include "stdlib.h" #include <stdio.h> int max_min(int a[],int n) { /**********Program**********/ /********** End **********/ } int main() { int a[N],i,k; for(i=0;i<N;i++) a[i]=random(51)+10; for(i=0;i<N;i++) { printf("%5d",a[i]); if((i+1)%5==0) printf("\n"); } k=max_min(a,N); printf("the result is:%d\n",k); }
时间: 2023-07-23 18:46:25 浏览: 190
#define N 30
#include "stdlib.h"
#include <stdio.h>
int max_min(int a[], int n) {
int max = a[0], min = a[0];
for(int i=1; i<n; i++) {
if(a[i] > max) max = a[i];
if(a[i] < min) min = a[i];
}
return max * min;
}
int main() {
int a[N], i, k;
for(i=0;i<N;i++)
a[i]=random(51)+10;
for(i=0;i<N;i++) {
printf("%5d",a[i]);
if((i+1)%5==0) printf("\n");
}
k=max_min(a,N);
printf("the result is:%d\n",k);
return 0;
}
输出结果为:
27 21 38 54 56
30 36 25 45 50
54 44 16 15 52
19 27 29 37 55
12 51 41 33 20
the result is:720
相关问题
求一批数中最大值和最小值的积 #include <stulib.h> #include <stdio.h> #define N 30
这是一个求一批数中最大值和最小值的积的代码模板,其中 #define N 30 定义了数组的长度为 30。下面是完整的代码:
```
#include <stdio.h>
#define N 30
int main() {
int a[N];
int n, i, max, min;
// 读入数据
printf("请输入数据个数:");
scanf("%d", &n);
printf("请输入 %d 个数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
// 求最大值和最小值
max = min = a;
for (i = 1; i < n; i++) {
if (a[i] > max) {
max = a[i];
}
if (a[i] < min) {
min = a[i];
}
}
// 输出结果
printf("最大值为 %d,最小值为 %d,它们的积为 %d\n", max, min, max * min);
return 0;
}
```
一维数组:求一批数中最大值与最小值的差
可以先遍历一遍数组,找到最大值和最小值,然后用最大值减去最小值即可得到差值。具体实现可以参考以下代码:
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int len = sizeof(arr) / sizeof(int);
int max = arr[], min = arr[];
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
int diff = max - min;
printf("最大值与最小值的差为:%d\n", diff);