반응형

요구사항

 #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() 함수를 이용하여 값을 입력 받아 보자


해당 링크의 글의 중간 즈음에 보시면 도움 되실듯 합니다.


반응형

+ Recent posts