/****************************/ /* 多次元配列 */ /* coded by Y.Suganuma */ /****************************/ #include <stdio.h> int main() { // 人数の読み込みと配列の定義 int n, m = 0, x[50][3]; double sum1 = 0.0, sum2 = 0.0; printf("人数は? "); scanf("%d", &n); if (n <= 0 || n > 50) printf(" ***人数が多すぎます\n"); else { // データの読み込みと点数の和の計算 int i1; for (i1 = 0; i1 < n; i1++) { printf("学籍番号,英語の点,数学の点は? "); scanf("%d %d %d", &x[i1][0], &x[i1][1], &x[i1][2]); sum1 += x[i1][1]; sum2 += x[i1][2]; } // 平均点の計算と平均点以下の人 if (n <= 0) printf("データが存在しません!\n"); else { double mean1 = sum1 / n; double mean2 = sum2 / n; printf("英語平均 %f 数学平均 %f\n", mean1, mean2); printf("いずれかの科目が平均点以下の人の学籍番号\n"); for (i1 = 0; i1 < n; i1++) { if (x[i1][1] <= mean1 || x[i1][2] <= mean2) { printf(" %d\n", x[i1][0]); m++; } } printf("該当学生数 %d 人\n", m); } } return 0; }
/****************************/ /* 多次元配列 */ /* coded by Y.Suganuma */ /****************************/ #include <stdio.h> int main() { // 人数の読み込みと配列の定義 int n, m = 0; double sum1 = 0.0, sum2 = 0.0; printf("人数は? "); scanf("%d", &n); int **x = new int *[n]; for (int i1 = 0; i1 < 3; i1++) x[i1] = new int [3]; // データの読み込みと点数の和の計算 for (int i1 = 0; i1 < n; i1++) { printf("学籍番号,英語の点,数学の点は? "); scanf("%d %d %d", &x[i1][0], &x[i1][1], &x[i1][2]); sum1 += x[i1][1]; sum2 += x[i1][2]; } // 平均点の計算と平均点以下の人 if (n <= 0) printf("データが存在しません!\n"); else { double mean1 = sum1 / n; double mean2 = sum2 / n; printf("英語平均 %f 数学平均 %f\n", mean1, mean2); printf("いずれかの科目が平均点以下の人の学籍番号\n"); for (int i1 = 0; i1 < n; i1++) { if (x[i1][1] <= mean1 || x[i1][2] <= mean2) { printf(" %d\n", x[i1][0]); m++; } } printf("該当学生数 %d 人\n", m); } return 0; }