이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date |
2010/04/10 16:51:18 |
Name |
김영대 |
Subject |
C언어 질문입니다. |
학생 입력 받고 점수, 평균, 등수 출력하는 건데 문제가 비고란에 평균을 반올림해서 * 표를 주는 겁니다.
예를 들어 75점이면 별이 ******* 이렇게 되고 63점이면 ****** 이렇게 되는건데
전혀 손을 못 대겠네요. 어떤식으로 접근해야 될지도 전혀 감이 안 잡히는데 조금만 도움을 주시길 바랍니다. ㅠㅠ
#include <stdio.h>
#define N 3
struct Data
{
char studentName[10];
int kor;
int eng;
int mat;
};
void main()
{
struct Data g[N];
int i,j; //for문 위한 변수
int score[N]={0}; //총점
int average[N]={0}; //평균
int grade[N]={0}; //등수
// char star; //비고 별!
int top=1; //등수 위한 변수
//이름, 점수 입력 후, 총점과 평균 구하기
for (i=0; i<N; ++i)
{
printf("이름 : ");
scanf("%s", &g[i].studentName);
printf("국어 : ");
scanf("%d", &g[i].kor);
printf("영어 : ");
scanf("%d", &g[i].eng);
printf("수학 : ");
scanf("%d", &g[i].mat);
score[i] = g[i].kor + g[i].eng + g[i].mat;
average[i] = score[i]/3;
}
//등수 구하기
for (i=0; i<N; ++i)
{
top=1;
for (j=0; j<N; ++j)
{
if(score[i]<score[j])
{
++top;
}
}
grade[i]=top;
}
//비고 구하기?
printf(" 이름 국어 영어 수학 총점 평균 등수 비고\n");
for (i=0; i<N; ++i)
{
printf("%8s %4d %4d %4d %4d %5d %5d\n", g[i].studentName, g[i].kor, g[i].eng, g[i].mat, score[i], average[i], grade[i]);
}
}
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|