#include<stdio.h>
#define n 7
#define m 12
int main()
{
char kamoku[m][n] = {"科目", "国語", "数学", "理科", "社会", "英語", "合計"};
char namae[m][n] = {"科目", "太郎", "次郎", "三郎", "四郎", "五郎", "花子", "春子", "夏子", "秋子", "冬子", "平均"};
double seiseki[m][m] = {{0, 0, 0, 0, 0, 0}, {0, 74, 93, 80, 73, 99}, {0, 78, 82, 78, 82, 74}, {0, 94, 68, 61, 71, 87}, {0, 82, 76, 96, 68, 78}, {0, 74, 79, 70, 61, 78}, {0, 89, 70, 70, 60, 72}, {0, 84, 96, 65, 75, 85}, {0, 91, 83, 89, 66, 75}, {0, 80, 83, 75, 71, 64}, {0, 86, 96, 93, 70, 62}};
int i, j, k;
printf("┌───┬──┬──┬──┬──┬──┬───┐\n");//一行目,科目名が3文字なのでそれぞれにスペースを入れて罫線をそろえる!
for (i = 1; i < n - 1; ++i)
{
}
printf("│ %s │\n", kamoku
[6]); printf("├───┼──┼──┼──┼──┼──┼───┤\n");//三行目
for (i = 1; i < 11; i++) //成績表示
{
for (j = 1; j < n - 1; j++)
{
printf("│%4.0f", seiseki
[i
][j
]); seiseki[i][0] += seiseki[i][j]; //横計
}
printf("│%6.0f│\n", seiseki
[i
][0]); printf("├───┼──┼──┼──┼──┼──┼───┤\n");//三行目をコピー }
for (j = 1; j < n - 1; j++)
{
for (i = 1; i < m - 1; i++)
{
seiseki[0][j] += seiseki[i][j]; //縦計
}
printf("│%4.1f", seiseki
[0][j
] / (m
- 2)); //科目平均 seiseki[0][0] += seiseki[0][j]; //総点
}
printf("│%6.1f│\n", seiseki
[0][0] / (m
- 2)); //合計平均 printf("└───┴──┴──┴──┴──┴──┴───┘\n"); int x;
int v[m];
for (i = 0; i < m; i++)
{
v[i] = i;
}
for (j = 1; j < n - 1; j++)
{
int l = 1;
for (i = 1; i <= m - 2; i++)
{
for (k = m - 2; k > i; k--)
{
if (seiseki[v[k - 1]][j] < seiseki[v[k]][j])
{
x = v[k - 1];
v[k - 1] = v[k];
v[k] = x;
}
}
if (i > 1)
{
if (seiseki[v[i - 1]][j] != seiseki[v[i]][j])
{
l = i;
}
}
printf("%4d %2s %4.0f\n", l
, namae
[v
[i
]], seiseki
[v
[i
]][j
]); }
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2RlZmluZSBuIDcKI2RlZmluZSBtIDEyCgppbnQgbWFpbigpCnsKICAgIGNoYXIga2Ftb2t1W21dW25dID0geyLnp5Hnm64iLCAi5Zu96KqeIiwgIuaVsOWtpiIsICLnkIbnp5EiLCAi56S+5LyaIiwgIuiLseiqniIsICLlkIjoqIgifTsKICAgIGNoYXIgbmFtYWVbbV1bbl0gPSB7IuenkeebriIsICLlpKrpg44iLCAi5qyh6YOOIiwgIuS4iemDjiIsICLlm5vpg44iLCAi5LqU6YOOIiwgIuiKseWtkCIsICLmmKXlrZAiLCAi5aSP5a2QIiwgIueni+WtkCIsICLlhqzlrZAiLCAi5bmz5Z2HIn07CiAgICBkb3VibGUgc2Vpc2VraVttXVttXSA9IHt7MCwgMCwgMCwgMCwgMCwgMH0sIHswLCA3NCwgOTMsIDgwLCA3MywgOTl9LCB7MCwgNzgsIDgyLCA3OCwgODIsIDc0fSwgezAsIDk0LCA2OCwgNjEsIDcxLCA4N30sIHswLCA4MiwgNzYsIDk2LCA2OCwgNzh9LCB7MCwgNzQsIDc5LCA3MCwgNjEsIDc4fSwgezAsIDg5LCA3MCwgNzAsIDYwLCA3Mn0sIHswLCA4NCwgOTYsIDY1LCA3NSwgODV9LCB7MCwgOTEsIDgzLCA4OSwgNjYsIDc1fSwgezAsIDgwLCA4MywgNzUsIDcxLCA2NH0sIHswLCA4NiwgOTYsIDkzLCA3MCwgNjJ9fTsKCiAgICBpbnQgaSwgaiwgazsKCiAgICBwcmludGYoIuKUjOKUgOKUgOKUgOKUrOKUgOKUgOKUrOKUgOKUgOKUrOKUgOKUgOKUrOKUgOKUgOKUrOKUgOKUgOKUrOKUgOKUgOKUgOKUkFxuIik7Ly/kuIDooYznm64s56eR55uu5ZCN44GM77yT5paH5a2X44Gq44Gu44Gn44Gd44KM44Ge44KM44Gr44K544Oa44O844K544KS5YWl44KM44Gm572r57ea44KS44Gd44KN44GI44KLIQogICAgcHJpbnRmKCLilIIiKTsvL+S6jOihjOebrgogICAgcHJpbnRmKCLnp5Hnm67lkI0iKTsKCiAgICBmb3IgKGkgPSAxOyBpIDwgbiAtIDE7ICsraSkKICAgIHsKICAgICAgICBwcmludGYoIuKUgiVzIiwga2Ftb2t1W2ldKTsKICAgIH0KCiAgICBwcmludGYoIuKUgiAlcyDilIJcbiIsIGthbW9rdVs2XSk7CiAgICBwcmludGYoIuKUnOKUgOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUgOKUpFxuIik7Ly/kuInooYznm64KCiAgICBmb3IgKGkgPSAxOyBpIDwgMTE7IGkrKykgICAvL+aIkOe4vuihqOekugogICAgewogICAgICAgIHByaW50Zigi4pSC44CAJXMiLCBuYW1hZVtpXSk7CgogICAgICAgIGZvciAoaiA9IDE7IGogPCBuIC0gMTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCLilIIlNC4wZiIsIHNlaXNla2lbaV1bal0pOwogICAgICAgICAgICBzZWlzZWtpW2ldWzBdICs9IHNlaXNla2lbaV1bal07IC8v5qiq6KiICiAgICAgICAgfQoKICAgICAgICBwcmludGYoIuKUgiU2LjBm4pSCXG4iLCBzZWlzZWtpW2ldWzBdKTsKICAgICAgICBwcmludGYoIuKUnOKUgOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUvOKUgOKUgOKUgOKUpFxuIik7Ly/kuInooYznm67jgpLjgrPjg5Tjg7wKICAgIH0KCiAgICBwcmludGYoIuKUguOAgCVzIiwgbmFtYWVbMTFdKTsKCiAgICBmb3IgKGogPSAxOyBqIDwgbiAtIDE7IGorKykKICAgIHsKICAgICAgICBmb3IgKGkgPSAxOyBpIDwgbSAtIDE7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIHNlaXNla2lbMF1bal0gKz0gc2Vpc2VraVtpXVtqXTsgLy/nuKboqIgKICAgICAgICB9CgogICAgICAgIHByaW50Zigi4pSCJTQuMWYiLCBzZWlzZWtpWzBdW2pdIC8gKG0gLSAyKSk7IC8v56eR55uu5bmz5Z2HCiAgICAgICAgc2Vpc2VraVswXVswXSArPSBzZWlzZWtpWzBdW2pdOyAvL+e3j+eCuQogICAgfQoKICAgIHByaW50Zigi4pSCJTYuMWbilIJcbiIsIHNlaXNla2lbMF1bMF0gLyAobSAtIDIpKTsgLy/lkIjoqIjlubPlnYcKICAgIHByaW50Zigi4pSU4pSA4pSA4pSA4pS04pSA4pSA4pS04pSA4pSA4pS04pSA4pSA4pS04pSA4pSA4pS04pSA4pSA4pS04pSA4pSA4pSA4pSYXG4iKTsKICAgIGludCB4OwogICAgaW50IHZbbV07CgogICAgZm9yIChpID0gMDsgaSA8IG07IGkrKykKICAgIHsKICAgICAgICB2W2ldID0gaTsKICAgIH0KCiAgICBmb3IgKGogPSAxOyBqIDwgbiAtIDE7IGorKykKICAgIHsKICAgICAgICBwcmludGYoIiVzXG4iLCBrYW1va3Vbal0pOwogICAgICAgIHByaW50Zigi6aCG5L2N44CA5ZCN5YmN44CA5oiQ57i+XG4iKTsKICAgICAgICBpbnQgbCA9IDE7CgogICAgICAgIGZvciAoaSA9IDE7IGkgPD0gbSAtIDI7IGkrKykKICAgICAgICB7CiAgICAgICAgICAgIGZvciAoayA9IG0gLSAyOyBrID4gaTsgay0tKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoc2Vpc2VraVt2W2sgLSAxXV1bal0gPCBzZWlzZWtpW3Zba11dW2pdKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHggPSB2W2sgLSAxXTsKICAgICAgICAgICAgICAgICAgICB2W2sgLSAxXSA9IHZba107CiAgICAgICAgICAgICAgICAgICAgdltrXSA9IHg7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmIChpID4gMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKHNlaXNla2lbdltpIC0gMV1dW2pdICE9IHNlaXNla2lbdltpXV1bal0pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgbCA9IGk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHByaW50ZigiJTRkICAlMnMgICU0LjBmXG4iLCBsLCBuYW1hZVt2W2ldXSwgc2Vpc2VraVt2W2ldXVtqXSk7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAwOwp9Cg==