버블정렬과 학점매기는거 질문좀 부탁드릴게요
하늘
가장기본적인 방법으로 정렬은 버블정렬로 위에 1등 아래가 30등 이런식으로 하는방법과
학점은 평균으로 a+,a,b+,b,c+,c,f 를 만드는 방법을 알고 싶습니다.
소스는 첨부파일에 있습니다.#include stdio.hvoid main()
{
char name[30][8]={ㅇㅇㅇ,ㅇㅇㅇ,ㅇㅇㅇ,ㅇㅇㅇ,ㅇㅇㅇ,ㅇㅇㅇ,ㅇㅇㅇ,ㅇㅇㅇ,ㅇㅇㅇ,ㅇㅇㅇ,김주찬,이범호,최희섭,김상현,나지완,ㅇㅇㅇ,안치홍,김선빈,윤석민,김진우,서재응,김소사,앤서니,한기주,박지훈,유동훈,홍성민,류현진,ㅇㅇㅇ,ㅇㅇㅇ};
int i,j;
int ikor=0, ieng=0, imat=0, aveikor=0, aveieng=0, aveimat=0;
int jumsu[30][3] = {
{99,99,99},{99,40,90},{95,50,75},{78,71,80},{65,85,90},{54,91,95},{56,70,85},{78,50,38},{67,71,90},{90,45,90},{30,91,93},{60,87,67},{50,88,75},{46,88,89},{96,77,91},{20,61,95},{16,20,28},{86,60,75},{76,76,97},{91,85,90},{93,91,95},{85,98,44},{80,50,75},{76,71,75},{92,85,90},{91,91,95},{71,88,40},{80,50,75},{76,71,80},{90,85,92}};
int tot[30], ave[30], rank[30];
printf( ● ㅇㅇㅇ학교 2012년 2학년 2학기ㅇㅇㅇㅇ 성적 일람 ● \n);//타이틀printf(┌───┬───┬───┬───┬───┬───┬───┬───┬───┐\n);
printf(│ 학번 │ 이름 │ 국어 │ 영어 │ 수학 │ 총점 │ 평균 │ 석차 │ 학점 │\n);for(i=0; i30; i++) {
tot[i] = jumsu[i][0] + jumsu[i][1] + jumsu[i][2];
// 총점
ikor += jumsu[i][0];
ieng += jumsu[i][1];
imat += jumsu[i][2];
ave[i] = tot[i]/3;
}
// 평균
aveikor = ikor/30;
aveieng = ieng/30;
aveimat = imat/30;
// 석차
for(i=0; i30; i++) {
rank[i] = 1;
}
for(i=0; i30; i++) {
for(j=0; j30; j++) {
if(tot[j] tot[i]) rank[j]++;
}
}// 성적 출력
for(i = 0; i30; i++) {
printf(├───┼───┼───┼───┼───┼───┼───┼───┼───┤\n);
printf(│%3d │%s│ %4d │ %4d │ %4d │ %4d │ %4d │ %3d │ │\n,
i+1,name[i],jumsu[i][0],jumsu[i][1],jumsu[i][2],tot[i],ave[i],rank[i]);
}
// 과목별 총점+평균 출력
printf(├───┴───┼───┼───┼───┼───┼───┼───┼───┤\n);
printf(│ 과목 총점 │ %4d│ %4d │ %4d │ │ │ │ │\n, ikor, ieng, imat);
printf(├───────┼───┼───┼───┼───┼───┼───┼───┤\n);
printf(│ 과목 평균 │ %4d │ %4d │ %4d │ │ │ │ │\n, aveikor, aveieng, aveimat);
printf(└───────┴───┴───┴───┴───┴───┴───┴───┘\n);}