配列要素の最小値を求める関数を利用して英語と数学の最低点を求めるプログラム
#include <stdio.h> #define NUMBER 5 // 人数 /*--- 要素数noの配列vcの最小値を返す ---*/ int min_of(const int vc[], int no) { int i; int min = vc[0]; for (i = 1; i < no; i++) if (vc[i] < min) min = vc[i]; return (min); } int main(void) { int i; int eng[NUMBER]; // 英語の点数 int mat[NUMBER]; // 数学の点数 int min_e, min_m; // 最低点 printf("%d人の点数を入力してください。\n", NUMBER); for (i = 0; i < NUMBER; i++) { printf("[%d] 英語:", i + 1); scanf("%d", &eng[i]); printf(" 数学:"); scanf("%d", &mat[i]); } min_e = min_of(eng, NUMBER); // 英語の最低点 min_m = min_of(mat, NUMBER); // 数学の最低点 printf("英語の最低点=%d\n", min_e); printf("数学の最低点=%d\n", min_m); return (0); }
実行結果
5人の点数を入力してください。
[1] 英語:53
数学:82
[2] 英語:49
数学:35
[3] 英語:21
数学:72
[4] 英語:91
数学:35
[5] 英語:77
数学:12
英語の最低点=21
数学の最低点=12