-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;
 }

プログラムが配列の後半の最大数を出力するように関数呼び出しを編集するにはどうすればよいですか? 私が言ったように、私はこの行だけを編集する必要があります:

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 に答える