#include <stdio.h>
int findmax(int a[],int n)
{
int *p=a,i;
for (i=0;i<n;i++)
if (*p<a[i])
p=i ;
return *p ;
}
void main()
{
int a[8]={8,3,9,4,7,12,6,10},b[2][3]={32,11,15,7,9,4},ma,mb;
ma=findmax(a,8);
mb=findmax( ① ,6);
if (ma>mb)
printf("array a > array b\n");
else
printf("array b >array a\n");
}谁知道这个空填什么,为什么这么填?
本程序是比较两个数组的大小,比较方式为:哪个数组中的最大值大,就称为该数组大。分析程序填空
答案:1 悬赏:0 手机版
解决时间 2021-02-20 20:50
- 提问者网友:温旧梦泪无声
- 2021-02-20 10:16
最佳答案
- 五星知识达人网友:天凉才是好个秋
- 2021-02-20 11:56
#include <stdio.h>
int findmax(int a[], int n)
{
int * p = a, i;
for(i = 0; i < n; i++)
if(*p < a[i])
*p = a[i];
return *p;
}
int main(void)
{
int a[8] = {8, 3, 9, 4, 7, 12, 6, 10}, b[2][3] = {32, 11, 15, 7, 9, 4}, ma, mb;
ma = findmax(a, 8);
printf("%d\n", ma);
mb = findmax( b[0], 6);
printf("%d\n", mb);
if(ma > mb)
printf("array a > array b\n");
else
printf("array b > array a\n");
return 0;
}如上,这个空填b[0],二维数组也是连续排列的,找到b[0]就找到了所有元素。然后你定义的findmax函数我稍微改了下,要不然编译器一直发出警告,可能是题出错了。
int findmax(int a[], int n)
{
int * p = a, i;
for(i = 0; i < n; i++)
if(*p < a[i])
*p = a[i];
return *p;
}
int main(void)
{
int a[8] = {8, 3, 9, 4, 7, 12, 6, 10}, b[2][3] = {32, 11, 15, 7, 9, 4}, ma, mb;
ma = findmax(a, 8);
printf("%d\n", ma);
mb = findmax( b[0], 6);
printf("%d\n", mb);
if(ma > mb)
printf("array a > array b\n");
else
printf("array b > array a\n");
return 0;
}如上,这个空填b[0],二维数组也是连续排列的,找到b[0]就找到了所有元素。然后你定义的findmax函数我稍微改了下,要不然编译器一直发出警告,可能是题出错了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯