配列の受け渡し

明解C言語 入門編 > 6. 関数 >

配列の受け渡し

C


#include <stdio.h>

#define NINSU 5

int max_of(int vc[], int no)
{
int i;
int max = vc[0];
for (i = 1; i < no; i++)
if (vc[i] > max) max = vc[i];

return max;
}

int main(int argc, char* argv[])
{
int i;
int eng[NINSU];
int mat[NINSU];
int max_e, max_m;

printf("%d人の点数を入力してください。\n", NINSU);

for (i = 0; i < NINSU; i++)
{
printf("[%d] 英語:", i + 1);
scanf("%d", &eng[i]);

printf(" 数学:");
scanf("%d", &mat[i]);
}

max_e = max_of(eng, NINSU);
max_m = max_of(mat, NINSU);

printf("英語の最高点%d\n", max_e);
printf("数学の最高点%d\n", max_m);

return 0;
}

実行結果


R:\>lesson047\project1.exe
5人の点数を入力してください。
[1] 英語:53
数学:82
[2] 英語:49
数学:35
[3] 英語:21
数学:72
[4] 英語:91
数学:35
[5] 英語:77
数学:12
英語の最高点91
数学の最高点82