요구사항
#include<stdio.h>
int main(void)
{
int kor[5], eng[5], mat[5], tot[5], i;
float avg[5];
char gr[5];
for(i=0; i<=4; i++)
{
printf("국어, 영어, 수학, 점수
입력?");
scanf("%d %d %d", &kor[i], &eng[i], &mat[i]);
tot[i]=kor[i]+eng[i]+mat[i];
avg[i]=tot[i]/3.0;
switch((int)avg[i]/10)
{
case 10:
case 9: gr[i]='A'; break;
case 8: gr[i]='B'; break;
case 7: gr[i]='C'; break;
case 6: gr[i]='D'; break;
default: gr[i]='F';
}
for(i=0; i<=4; i++)
printf("%5d %5d %5d %5d %8.2f %3c\n", kor[i], eng[i], mat[i], tot[i], avg[i], gr[i]);
return 0;
}
}
여기까지는 선생님이 써서 보여주셨는데요 ctrl + f5를 누르면 국어, 영어, 수학 점수입력? 이라고 뜨잖아요
거기서 점수를 어떻게 입력해야 하는지를 모르겠어요 어떻게 하셨는지 그림으로 보여주시면 감사하겠습니다
//소스에 괄호 위치가 조금 잘 못 되어 있는거 같습니다.
수정 :
#include<stdio.h> int main(void) { int kor[5], eng[5], mat[5], tot[5], i; float avg[5]; char gr[5]; for(i=0; i<=4; i++) { printf("국어, 영어, 수학, 점수 입력?"); scanf("%d %d %d", &kor[i], &eng[i], &mat[i]); tot[i]=kor[i]+eng[i]+mat[i]; avg[i]=tot[i]/3.0; switch((int)avg[i]/10) { case 10: case 9: gr[i]='A'; break; case 8: gr[i]='B'; break; case 7: gr[i]='C'; break; case 6: gr[i]='D'; break; default: gr[i]='F'; } } for(i=0; i<=4; i++) printf("%5d %5d %5d %5d %8.2f %3c\n", kor[i], eng[i], mat[i], tot[i], avg[i], gr[i]);
return 0; } |
맨 아래에서 두 번째 } 를 옮겨야 정상작동 할 것입니다.(빨간색) ((질문자님의 소스와 저 괄호 위치만 다릅니다.)) 입력 방법은 간단합니다. 10 15 20 이렇게 각각 입력 하실 때 공백 한 칸씩 주시면 되고, 3개 입력되시면 엔터키 눌르시면 다시 점수 입력하라는 메세지가 나옵니다.
3개씩 5번 다 입력하시면 알아서 입력 받은 값과 총점 평균, 등급등이 출력됩니다. 입력 할 때 어떤 식으로 해야 되는지는 |
scanf("%d %d %d", &kor[i], &eng[i], &mat[i]);
함수의 "%d %d %d"를 보면 알수 있습니다.
참고 .
2013/10/16 - scanf() 함수를 이용하여 값을 입력 받아 보자
해당 링크의 글의 중간 즈음에 보시면 도움 되실듯 합니다.
'지식in > c언어 관련' 카테고리의 다른 글
c언어 이름 성적 입력 받아 이름순 정렬해서 출력 (0) | 2013.11.26 |
---|---|
c언어 정답 체크 및 점수 출력하기 (1) | 2013.11.25 |
c언어 이름 국어 수학 영어 점수 입,출력 하기 (0) | 2013.11.23 |