소프트웨어/C 언어

[C언어]25. 가장 기초적인 자료구조, 배열에 대하여 알아보자 -2- ( 배열에 값 대입 )

리습 2013. 6. 14. 08:30


안녕하십니까 리습입니다.


이번엔 배열을 어떻게 사용할 것인지 한번 알아보도록 하겠습니다. 배열은 기본적으로 연속된 데이터이기 때문에

[ ] 안에 따라서 공간을 마음대로 사용할 수 있습니다. 


배열에 값을 대입하는 방법은 다음과 같습니다.

배열 명과 배열의 몇번째 변수인지 적어주는 것이죠 첫번째는 0, 두번째는 1, 네번째는 3 이런식으로 적어주는 것입니다. 또한 몇번째 인지 [ ] 안에 적어줄 때에는 정수형 변수를 넣어서 알려 줄 수도 있습니다. 정말 단순하고 간단하지만 이것이 얼마나 위력적인지 보여드리도록 하겠습니다.


 어떤 학교에서 학급의 언어, 수학, 외국어 의 성적을 분석하려고 합니다.  한 학급에는 명의 학생이 있습니다. 분석 값은 각 값의 수를 평균값으로 만들고 학생별 평균과 평균의 평균도 구하려고 합니다. 그럼 이 값을 구하는 프로그램을 만들어 보겠습니다. 입력을 받기위해 scanf를 사용해서 해보도록 하겠습니다. 


 코드

 #include <stdio.h>

 

 int main( void )

 {

       float kor[30] = { 0 } , math[30] = { 0 } , eng[30] = { 0 }; //배열 선언 및 초기화

       float avk = 0 , avm = 0 , ave = 0 , ava = 0 ;

       printf("학생들의 성척을 입력받겠습니다. \n");

       for ( int i = 0 ; i < 30 ; i++)                                        //성적을 입력받음

      {

            printf(" %d 번 학생의 언어 성적을 입력해 주십시오 : ", i+1);

            scanf("%f", &kor[i]); // 부동소수점 형식으로 받음

            printf(" %d 번 학생의 수학 성적을 입력해 주십시오 : ", i+1);

            scanf("%f" , &math[i]);

            printf(" %d 번 학생의 외국어성적을 입력해 주십시오 : ", i+1);

            scanf("%f" , &eng[i]); 

      }

      /* 값을 모두 받았으니 화면에 계산후 출력 */

      printf("결과는 다음과 같습니다. \n");

      printf("========================================================================\n");

      printf("|    번호    |    언어     |    수학     |    외국어     |    평균     |\n");

      for ( int i = 0 ; i < 30 ; i++ )

      {      

            printf("|   %2d 번    |  %6.2f 점  |  %6.2f 점  |   %6.2f 점   |  %6.2f 점  |\n",

                    i +1 , kor[i] , math[i], eng[i] , (kor[i]+math[i]+eng[i])/3);

            avk += kor[i];

            avm += math[i];

            ave += eng[i];

            ava += (kor[i]+math[i]+eng[i])/3;

      }

      printf("|   평 균    |  %6.2f 점  |  %6.2f 점  |   %6.2f 점   |  %6.2f 점  |\n",

               avk/30 , avm/30, ave/30 , ava/30);

      return 0;

} 


결과는 


입력은 하나하나 하도록 코드를 만들었지만 배열에 미리 값을 초기화시켜서 사용하셔도 됩니다. 

 

 위의 예로 부터 배열을 어떻게 사용해야 하는지 감을 잡으셨을 것입니다. 걱정할것이 하나도 없습니다. '변수'와 사용이 같습니다. 편리하게 사용만 하시면 되는 것입니다. 단지 변수와는 달리 배열은 [ ] 가 번호로 지정되어있기 때문에 반복문 궁합이 매우 좋다 이정도만 기억하셔도 됩니다.


 지금까지배열의 기본적인 것들을 배워보았습니다. 이제 배열을 심도있게 자세히 알아보도록 하겠습니다.