ざっと書いてみました.いかがでしょうか.
c
1#include <stdio.h>
2#include <string.h>
3int main(void){
4 int i,j,ten[3][4],sum;
5 // aveを科目の分だけ配列に.
6 double ave[3];
7 // ten[i][j]には&をつけて
8 for(i=0; i<3; i++){
9 for(j=0; j<4; j++){
10 scanf("%d",&ten[i][j]);
11 }
12 }
13 for(i=0; i<3; i++){
14 sum=0;
15 for(j=0; j<4; j++){
16 sum+=ten[i][j];
17 }
18 // sum/4.0で平均をだす.結果はdoubleになる
19 ave[i] = sum/4.0;
20 }
21
22 char subject[3][7];
23 // strcpyを使ってchar配列に代入.
24 strcpy(subject[0], "Sugaku");
25 strcpy(subject[1], "Eigo");
26 strcpy(subject[2], "Kokugo");
27
28 // 基本的に,タブを挟むことで表っぽくする
29 printf("\tA\tB\tC\tD\tHeikin\n"); // 見出し
30 for(int i=0;i<3;i++){
31 printf("%s\t",subject[i]); //科目名
32 for(int j=0;j<4;j++){
33 printf("%d\t", ten[i][j]); //点
34 }
35 printf("%.2f", ave[i]); //小数点以下2桁にして平均.
36 printf("\n");
37 }
38}
39
txt
1output:
2 A B C D Heikin
3Sugaku 40 100 50 50 60.00
4Eigo 60 80 100 30 67.50
5Kokugo 26 25 50 60 40.25