返回n个元素的int型数组的最大元素
1个回答
展开全部
不知道你要的 “最小元素的地址” 是计算机存放地址 还是数组下标。
计算机存放地址 需要 unsigned int, 而不能是 int.
猜想,是要数组下标,int min() 就可以。
程序如下:
#include<stdio.h>
int min(int array[], int n){
int i, s, k;
s=array[0];
for (i=0;i<n;i++) if (array[i] < s) {k=i; s=array[i];}
return k;
}
void fun(float (*p)[3], float *s, int n){
int i;
for (i=0;i<n;i++)s[i]=p[i][0]+p[i][1]+p[i][2];
}
main(){
int array[5]={12,-4,6,7,5};
float a[10][3] ={{60,60,60},{61,62,63},{81,82,83},{70,70,70},{71,72,73},
{40,60,60},{60,60,50},{60,70,60},{80,60,80},{90,90,90}};
float m[10];
int i;
printf("%d %d\n", min(array,5), array[min(array,5)]); //输出下标 和 最小值
fun (a,m,10);
for (i=0;i<10;i++) printf("%g\n",m[i]); //输出10人各自的总分。
}
计算机存放地址 需要 unsigned int, 而不能是 int.
猜想,是要数组下标,int min() 就可以。
程序如下:
#include<stdio.h>
int min(int array[], int n){
int i, s, k;
s=array[0];
for (i=0;i<n;i++) if (array[i] < s) {k=i; s=array[i];}
return k;
}
void fun(float (*p)[3], float *s, int n){
int i;
for (i=0;i<n;i++)s[i]=p[i][0]+p[i][1]+p[i][2];
}
main(){
int array[5]={12,-4,6,7,5};
float a[10][3] ={{60,60,60},{61,62,63},{81,82,83},{70,70,70},{71,72,73},
{40,60,60},{60,60,50},{60,70,60},{80,60,80},{90,90,90}};
float m[10];
int i;
printf("%d %d\n", min(array,5), array[min(array,5)]); //输出下标 和 最小值
fun (a,m,10);
for (i=0;i<10;i++) printf("%g\n",m[i]); //输出10人各自的总分。
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询