[C언어] 배열

    배열

    동일한 데이터타입을 메모리상에 순차적으로 나열한다.

     

     

    배열 사용 하는 방법

    int arr[10]; (arr[0] ~ arr[9])

     

     

    배열을 입력하지 않았을 경우.

    int arr2[2][3] = {1, 2, 3,};

    // 배열을 선언과 동시에 초기화를 할 경우 전부 다 하지 않은 비워진 값은 초기 값 0으로 등록이 된다.

     

     

    #define _CRT_SECURE_NO_WARINGS
    #include<stdio.h>
    #include<string.h>
    
    int total(int a, int b, int c);
    float avg(int a, int b, int c);
    
    
    int main()
    {
    	int select = 0;
    	int num1 = 0;
    	int num2 = 0;
    	int mat = 0, kor =0, eng =0;
    
    	//한 반당 3명, 3개의 반이 있고, 한 명당 국, 영, 수, 총점, 평균
    	int student[3][3][3] = { 0, };
    
    	//무한 루프
    	do {
    		printf("1. 입력 / 2. 전체 출력 / 0. 종료 \n");
    		rewind(stdin);
    		scanf("%d", &select);
    		rewind(stdin);
    		switch (select)
    		{
    		case 1:
    			printf("반 등록 (1 ~ 3) \n");
    			scanf("%d", &num1);
    			printf("%d", num1);
    			rewind(stdin);
    			printf("학생 등록 (1 ~ 3)\n");
    			scanf("%d", &num2);
    			rewind(stdin);
    			printf("성적 등록 \n");
    			printf("국어 점수 : ");
    			scanf("%d", &kor);
    			rewind(stdin);
    			printf("영어 점수 : ");
    			scanf("%d", &eng);
    			rewind(stdin);
    			printf("수학 점수 : ");
    			scanf("%d", &mat);
    			rewind(stdin);
    			student[num1-1][num2-1][0] = kor;
    			student[num1-1][num2-1][1] = eng;
    			student[num1-1][num2-1][2] = mat;
    			
    			break;
    		case 2:
    
    			for (int i = 0; i < 3; i++)
    			{
    				for (int j = 0; j < 3; j++)
    				{
    					if (avg(student[i][j][0], student[i][j][1], student[i][j][2]) != 0)
    					{
    						printf("%d반 %d번 / 국어 점수 : %d, 영어 점수 : %d, 수학 점수 : %d, 총점 : %d, 평균 : %2f \n", i+1, j+1, student[i][j][0], student[i][j][1], student[i][j][2], total(student[i][j][0], student[i][j][1], student[i][j][2]), avg(student[i][j][0], student[i][j][1], student[i][j][2]));
    					}
    				}
    			}
    
    			break;
    		default:
    			break;
    		}
    
    	} while (1);
    
    	return 0;
    }
    
    int total(int a, int b, int c)
    {
    	return a + b + c;
    }
    
    float avg(int a, int b, int c)
    {
    	return (a + b + c) / 3;
    }
    반응형

    댓글

    Designed by JB FACTORY