#include <stdio.h>
struct st
{
int m, f, t, r;
float a;
};
void main()
{
//변수선언
st t, a[5];
int i, j;
//데이터입력
for (i = 0; i < 5; i++)
{
printf("%d번째 학생의 중간 기말 점수를 입력해주십시오.\n", i + 1);
scanf("%d%d", &a[i].m, &a[i].f);
printf("\n");
}
//총점,평균
for (i = 0; i < 5; i++)
{
a[i].t = a[i].m + a[i].f;
a[i].a = a[i].t / 2.0;
}
//정렬
for (i = 0; i < 4; i++)
{
for (j = i + 1; j < 5; j++)
{
if (a[i].a < a[j].a)
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
//석차
for (i = 0; i < 5; i++)
{
a[i].r = i + 1;
}
//출력
for (i = 0; i < 5; i++)
{
printf("중간 = %d 기말 = %d 총점 = %d 평균 = %.2f 석차 = %d", a[i].m, a[i].f, a[i].t, a[i].a, a[i].r);
printf("\n");
}
}
내가 이렇게 짜놨는데 점수가 같아도 석차가 같게 안나와 어떻게 해야되?
점수로 정렬 후, 등수 = 앞점수 == 현재점수 ? 등수 : 카운터