第6講 配列
第7話 成績一覧表に合計を加える

成績一覧表
002
を実現するプログラム例
#include<stdio.h> //prinf()を使えるようにするためにインクルード
#include<stdlib.h> //rand()を使用できるようにインクルード
#include <time.h> //time()を使用できるようにインクルード
void f();
int main() {
  f();
  return(0);
}
void f() {
  int a[3][10][6]; //最初の添え字は学期、2番目の添え字は出席番号、3番目は各教科に対応
  int i, j, k; //for文の制御変数
  srand((unsigned)time(NULL)); //乱数の系列決定するシード値を現在時刻から取得
  //ランダムデータ発生
  for (i = 0; i < 3; i++) {
    for (j = 0; j < 10; j++) {
      for (k = 0; k < 5; k++) {
        a[i][j][k] = rand() % 100 + 1;
      }
    }
  }
  //合計点の算出
  for (i = 0; i < 3; i++) {
    for (j = 0; j < 10; j++) {
      a[i][j][5] = 0; //0に初期化
      for (k = 0; k < 5; k++) {
        a[i][j][5] += a[i][j][k];
      }
    }
  }
  //結果表示
  for (i = 0; i < 3; i++) {
    printf("%d学期\n", i + 1);
    printf("出席番号 国語 社会 数学 理科 英語 合計\n");
    for (j = 0; j < 10; j++) {
      if (j+1<10)printf("  %d   ", j + 1); else printf(" %d   ", j + 1);
      for (k = 0; k < 6; k++) {
        if(a[i][j][k]<10)printf(" %d ",a[i][j][k]);
        if (a[i][j][k]>=10 && a[i][j][k]<100)printf(" %d ", a[i][j][k]);
        if(a[i][j][k] >= 100)printf("%d ", a[i][j][k]);
      }
      printf("\n");
    }
    printf("\n");
  }
}

さらに、
  float h[3][10]; //平均点を収納する箱
を加えて平均も算出して表示させましょう。
001
算出する際にキャストを使う必要があります。
つまり、int型を強制的にfloat型に変更する必要があります。



第6話へ   第8話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ