-2
#include <stdio.h>
#define N 10
int find_largest(int *, int );
int main(void) {
int a[] = {1,2,23,4,5,2,14,6,8,10};
printf("%d\n", find_largest (a, N));
 }

 int find_largest(int *a, int n) {
 int i, max;
 max = a[0];
 for (i = 1; i < n; i++)
 if (a[i] > max)
 max = a[i];
 return max;
 }

如何编辑函数调用,以便程序打印数组后半部分的最大数量,因此在这些元素中:{2、14、6、8、10}?正如我所说,我应该只编辑这一行:

printf("%d\n", find_largest (a, N));

谢谢 :)

4

3 回答 3

3

您可以将该行更改为:

printf("%d\n", find_largest (a+N/2, (N+1)/2));

可以处理奇数时的(N+1)/2异常。N

于 2013-01-14T09:22:00.910 回答
2

改变

 printf("%d\n", find_largest (a, N));

 printf("%d\n", find_largest (a + N/2, N/2));
于 2013-01-14T09:21:36.633 回答
0

printf("%d\n", find_largest (a+N/2, (N+1)/2));

于 2013-01-14T09:21:07.480 回答