配列の受け渡し
明解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