「かっこいいこと」を考えずにまずベタにやってみたらどうですか?
科目1の合計点は、ten[0][0]+ten[1][0]+ten[2][0]+ten[3][0]+ten[4][0]
科目2の合計点は、ten[0][1]+ten[1][1]+ten[2][1]+ten[3][1]+ten[4][1]
科目3の合計点は、ten[0][2]+ten[1][2]+ten[2][2]+ten[3][2]+ten[4][2]
3科目の合計点の合計点は、ten[0][3]+ten[1][3]+ten[2][3]+ten[3][3]+ten[4][3]
であることは理解できていますか?
これをそのまま追加すれば
C
1#include<stdio.h>
2int main(void) //Cの標準に筆頭で載っている書き方にするならこれがベター
3{
4 int i,j;
5 int ten[5][4]={//いちいち入力するのが面倒なので初期値で代替
6 {60,30,20},
7 {70,80,50},
8 {80,80,80},
9 {70,90,80},
10 {30,20,90}
11 };
12/*
13 for(i=0;i<=4;i++){
14 for(j=0;j<=2;j++){
15 printf("ten[%d][%d]=",i,j);
16 scanf("%d",&a);
17 ten[i][j]=a;
18 }
19 }
20 printf("-----\n");
21*/
22 for(i=0;i<=4;i++){
23 ten[i][3]=0;
24 for(j=0;j<=2;j++){
25 ten[i][3]=ten[i][3]+ten[i][j];
26 }
27 //printf("ten[%d][3]=%d\n",i,ten[i][3]); //「表示例」に対し適切でない
28 }
29 printf(" 科目1 科目2 科目3 3科目の合計点\n");
30 printf("%6d",ten[0][0]);
31 printf("%6d",ten[0][1]);
32 printf("%6d",ten[0][2]);
33 printf("%6d",ten[0][3]);
34 printf("\n");
35 printf("%6d",ten[1][0]);
36 printf("%6d",ten[1][1]);
37 printf("%6d",ten[1][2]);
38 printf("%6d",ten[1][3]);
39 printf("\n");
40 printf("%6d",ten[2][0]);
41 printf("%6d",ten[2][1]);
42 printf("%6d",ten[2][2]);
43 printf("%6d",ten[2][3]);
44 printf("\n");
45 printf("%6d",ten[3][0]);
46 printf("%6d",ten[3][1]);
47 printf("%6d",ten[3][2]);
48 printf("%6d",ten[3][3]);
49 printf("\n");
50 printf("%6d",ten[4][0]);
51 printf("%6d",ten[4][1]);
52 printf("%6d",ten[4][2]);
53 printf("%6d",ten[4][3]);
54 printf("\n");
55
56 printf("--------------------------------\n");
57 printf("%6d",ten[0][0]+ten[1][0]+ten[2][0]+ten[3][0]+ten[4][0]);
58 printf("%6d",ten[0][1]+ten[1][1]+ten[2][1]+ten[3][1]+ten[4][1]);
59 printf("%6d",ten[0][2]+ten[1][2]+ten[2][2]+ten[3][2]+ten[4][2]);
60 printf("%6d",ten[0][3]+ten[1][3]+ten[2][3]+ten[3][3]+ten[4][3]);
61 printf("\n");
62}
(表示が気にくわないなら適宜調整してもらうとして)これを眺めて「規則性」が見えたならその規則性をもとにまとめていけばいいわけで。