「キーボードから 4 人分の数学と英語と国語の成績 (整数) を int 型の二次元配列に入力し、 それぞれの平均点と共に、次のように表として画面に出力するプログラムを作成せよ (平均 点は小数点以下第二位まで表示)。ここで、科目名は char 型の 2 次元配列 class[3][7] に格 納しておき、for 文などで下 3 行を表示できるようにすること。」
_____A____B___C__D_Heikin
Sugaku 40 100 50 50 60.00
Eigo 60 80 100 30 67.50
Kokugo 26 25 50 60 40.25
という問題で以下のようにプログラムを作成したのですが最初に格納した科目名をどう表示すればいいのか、また平均がこのままだと全て同じ変な値になってしまいます。どうすればよろしいのでしょうか?
#include<stdio.h> int main(void) { int date[3][4]; int i,j; int total[3]; double ave=0.0; char class[3][7]={"Sugaku","Eigo","Kokugo"}; for(i=0;i<3;i++){ printf("Input %s date:\n",class[i]); for(j=0;j<4;j++){ printf("%c:",'A'+j); scanf("%d",&date[i][j]); } } for(i=0;i<3;i++){ total[i]=0; for(j=0;j<4;j++){ total[i]=total[i]+date[i][j]; } ave=ave+total[i]; ave=ave/4; } for(i=0;i<3;i++){ for(j=0;j<4;j++){ printf("%6d",date[i][j]); } printf("%lf\n",ave); } return 0; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。