第15講 多次元配列を送ることによって年間成績一覧表を作成する
第5話 年間成績一覧表の完成の一歩手前
実行画面
を実現するプログラム例
#include<stdio.h>
#include<stdlib.h>
void f(char n,int p[3][42][8]);
void g(int p[3][42][8]);
void h(int p[3][42][8]);
int main(){
int n,p[3][42][8];
for(n=0;n<3;n++)f(n,p);
g(p);
h(p);
printf("プロジェクト終了\n");
}
void f(char n,int p[3][42][8]){
int i,j;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
p[n][i][j]=rand()%100;
}
}
}
void g(int p[3][42][8]){
int i,j,k,w;
for(i=0;i<3;i++){
for(j=0;j<5;j++){
w=0;
for(k=0;k<5;k++){
w+=p[i][j][k];
}
p[i][j][5]=w;
}
}
for(i=0;i<3;i++){
for(j=0;j<6;j++){
w=0;
for(k=0;k<5;k++){
w+=p[i][k][j];
}
p[i][5][j]=w;
}
}
}
void h(int p[3][42][8]){
int i,j,k,w;
for(i=0;i<3;i++){
printf("%d学期\n",i+1);
printf("番号 国語 社会 数学 理科 英語 合計 平均\n");
for(j=0;j<5;j++){
if(j+1<10)printf(" 0%d ",j+1);
if(j+1>=10)printf(" %d ",j+1);
for(k=0;k<6;k++){
if(p[i][j][k]<10)printf("0%d ",p[i][j][k]);
if(p[i][j][k]>=10)printf("%d ",p[i][j][k]);
}
printf("%.1f ",(float)p[i][j][5]/5);
printf("\n");
}
printf("合計 ");
for(k=0;k<6;k++){
if(p[i][5][k]<10)printf("0%d ",p[i][5][k]);
if(p[i][5][k]>=10)printf("%d ",p[i][5][k]);
}
printf("%.1f \n",(float)p[i][5][5]/5);
printf("平均 ");
for(k=0;k<6;k++){
printf("%.1f ",(float)p[i][5][k]/5);
}
printf(" %.1f ",(float)p[i][5][5]/25);
printf("\n");
printf("\n");
printf("\n");
}
printf("年間成績\n");
printf("番号 国語 社会 数学 理科 英語 合計 平均\n");
for(i=0;i<5;i++){
if(i+1<10)printf(" 0%d ",i+1);
if(i+1>=10)printf(" %d ",i+1);
for(j=0;j<6;j++){
w=0;
for(k=0;k<3;k++){
w+=p[k][i][j];
}
printf("%.1f ",(float)w/3);
}
printf(" %.1f ",(float)w/15);
printf("\n");
}
}
年間成績一覧表完成一歩手前
次の課題です。
各教科と合計点の合計と平均も加えて
成績一覧表を完成させて下さい。
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ