#include <stdio.h>
void main()
{
int j,i,a,kor[100],eng[100],math[100],total[100],ranking[100],c[100],com,a_total;
printf(\"몇 명의 성적을 입력 하시겠습니까?\\n\");
scanf(\"%d\",&a);
for(i=1;i<=a;i++)
{
printf(\"국어,영어,수학 차례대로 입력\\n\");
scanf(\"%d\",&kor[i]);
scanf(\"%d\",&eng[i]);
scanf(\"%d\",&math[i]);
total[i]=kor[i]+eng[i]+math[i];
printf(\"%d번째 학생의 점수:%d\\n\",i,total[i]);
ranking[i]=i;
c[i]=0;
}
for(i=1;i<=a;i++)
{
a_total=total[i];
for(j=1;j<=a;j++)
{
if(a_total>total[j])
{
com=total[i];
total[i]=total[j];
total[j]=com;
com=ranking[i];
ranking[i]=ranking[j];
ranking[j]=com;
a_total=total[j];
}
}
}
for(i=1;i<=a;i++)
{
if(total[i-1]==total[i])
{
c[i]=c[i-1]+1;
}
}
for(i=1;i<=a;i++)
{
printf(\"%d등 %d번\\n\",i-c[i],ranking[i]);
if(i-c[i]<=0.3*a)
{
printf(\"-------------------------------%d번 학생은 A+입니다.\\n\",ranking[i]);
}
else
{
if(i-c[i]<=0.7*a)
{
printf(\"---------------------------%d번 학생은 B+입니다.\\n\",ranking[i]);
}
else
{
printf(\"----------------------------내년에 또 봐요..\\n\");
}
}
}
}
C++입니다... 보시구... 고쳐야 될것있으면 조언좀 해주세요...
아 그리구.. 만약 동점자가 있을경우에는 성적을요.. 만약 10명중에 3명을 A+ 줘야 하는데.. 3등이랑 4등 동점일경우에는 3등4등을 B+로 내려야 하는데 이걸 어떻게 해야 할까요??
void main()
{
int j,i,a,kor[100],eng[100],math[100],total[100],ranking[100],c[100],com,a_total;
printf(\"몇 명의 성적을 입력 하시겠습니까?\\n\");
scanf(\"%d\",&a);
for(i=1;i<=a;i++)
{
printf(\"국어,영어,수학 차례대로 입력\\n\");
scanf(\"%d\",&kor[i]);
scanf(\"%d\",&eng[i]);
scanf(\"%d\",&math[i]);
total[i]=kor[i]+eng[i]+math[i];
printf(\"%d번째 학생의 점수:%d\\n\",i,total[i]);
ranking[i]=i;
c[i]=0;
}
for(i=1;i<=a;i++)
{
a_total=total[i];
for(j=1;j<=a;j++)
{
if(a_total>total[j])
{
com=total[i];
total[i]=total[j];
total[j]=com;
com=ranking[i];
ranking[i]=ranking[j];
ranking[j]=com;
a_total=total[j];
}
}
}
for(i=1;i<=a;i++)
{
if(total[i-1]==total[i])
{
c[i]=c[i-1]+1;
}
}
for(i=1;i<=a;i++)
{
printf(\"%d등 %d번\\n\",i-c[i],ranking[i]);
if(i-c[i]<=0.3*a)
{
printf(\"-------------------------------%d번 학생은 A+입니다.\\n\",ranking[i]);
}
else
{
if(i-c[i]<=0.7*a)
{
printf(\"---------------------------%d번 학생은 B+입니다.\\n\",ranking[i]);
}
else
{
printf(\"----------------------------내년에 또 봐요..\\n\");
}
}
}
}
C++입니다... 보시구... 고쳐야 될것있으면 조언좀 해주세요...
아 그리구.. 만약 동점자가 있을경우에는 성적을요.. 만약 10명중에 3명을 A+ 줘야 하는데.. 3등이랑 4등 동점일경우에는 3등4등을 B+로 내려야 하는데 이걸 어떻게 해야 할까요??
먼가... 제가 봐도 허술한데 .. ㅠㅠ 도움 좀 주세요... ㅠㅠ
경계선에 있는 동점자 같은 경우에는 ... ㅠㅠ 둘다 성적을 내려야 하는데 어떻게 해야 좋을까요?? ㅠㅠ
성적을 미리 계산해서 입력하고 한번에 출력해
음.. 횽님... 그런씩으로 해보려고 했는데.. 잘안되네요...
어떤 식으로 해야 될지 모르겠어요 ㅠㅠ제가 생각 해본 방법이 성적을 나눠줄때 for 구문 밖에서.. 몇 등까지는 A+ 몇 등까진 B+이런 식으로 해봤는데요.. 그렇게 해보니..저기 위에 말한대로.. 동점자를 어떻게 할지 잘 모르겠어요... ㅜㅜ