...一维数组的最大值。要求在主函数中输入数组a[40],调用该函数求数组a...
发布网友
发布时间:2024-04-20 11:42
我来回答
共5个回答
热心网友
时间:2024-04-22 04:22
#include <stdio.h>
#define M 40
void f1(int b[M])
{
int i,max;
for(max=b[0],i=0;i<M;i++)
max=(max>*(b+i))? max:*(b+i);
printf("其中最大数是:%d\n",max);
if(b[i]==max) printf("最大数所在位置:%d\n",i+1);
}
void main()
{
int a[M],*p1;
printf("请输入数据: ");
for (p1=a;p1<a+M;p1++)
scanf("%d",p1);
printf("这40个数是:\n");
for (p1=a;p1<a+M;p1++)
printf("%4d,",*p1);
printf("\n");
p1=a;
f1(p1);
}
热心网友
时间:2024-04-22 04:14
两个问题可以结合到一块去,n的值可以你自己定就是第一问了,以下是以10为例的:
#define
n
10
#include
void
main()
{
int
*num;
int
min,
max;
int
i;
printf("请输入n个数:\n");
for
(i
=
0;
i
<
n;
i++)
scanf("%d",
num
+
i);
min=*num;max=*num;
for
(i
=
0;
i
<
n;
i++)
{if(min>*num+i)
min=*num+i;
if(max
评论
0
0
加载更多
热心网友
时间:2024-04-22 04:14
#include "stdio.h"
int Get_Max(int *p,int len)
{
int i = 0,*max;
max = p;
for(i=0;i<len-2;i++)
{
if(*max<p[i+1])
max = &p[i+1];
}
return *max;
}
void main()
{
int a[10] = {1,2,3,4,5,6,7,8,9,0};
printf("%d",Get_Max(a,10));
}
热心网友
时间:2024-04-22 04:21
循环整个数组(1~40),每遇到一个更大的数,就传给MAX(MAX初值为0)
最后输出MAX,就是最大数
热心网友
时间:2024-04-22 04:19
#include <stdio.h>
#define M 40
int MAX(int *arr, int arr_size)
{
int i = 0;
int max = *arr;
for (i = 1; i < arr_size; i++)
{
if (*(arr+i) > max)
{
max = *(arr+i);
}
}
return max;
}
int main(void)
{
int i = 0;
int array[M]={0};
printf("please input a array: \n");
for (i = 0; i < M; i++)
{
scanf("%d", &array[i]);
}
printf("The max num is: %d\n", MAX(array, M));
return 0;
}
或者:
#include <stdio.h>
#define M 40
void MAX(int *arr, int arr_size, int *max)
{
*max = *arr;
while (arr_size-- >= 1)
{
if (*arr > *max)
{
*max = *arr;
}
arr++;
}
}
int main(void)
{
int i = 0;
int array[M]={0};
int max = 0;
printf("please input a array: \n");
for (i = 0; i < M; i++)
{
scanf("%d", &array[i]);
}
MAX(array, M, &max);
printf("The max num is: %d\n", max);
return 0;
}