2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

프로그래밍언어문법/배열

ch10.배열2_연습문제

파아란기쁨1 2021. 7. 28. 15:57
반응형

1. https://codeup.kr/problem.php?id=1412 

2. https://codeup.kr/problem.php?id=1096 

3. https://codeup.kr/problem.php?id=1460 

4. https://codeup.kr/problem.php?id=1461 

5. https://codeup.kr/problem.php?id=1462 

6. https://codeup.kr/problem.php?id=1463 

7. https://codeup.kr/problem.php?id=1464 

8. https://codeup.kr/problem.php?id=1465 

9. https://codeup.kr/problem.php?id=1466 

10. https://codeup.kr/problem.php?id=1467 

11. https://codeup.kr/problem.php?id=1468 

12. https://codeup.kr/problem.php?id=1469 

13. https://codeup.kr/problem.php?id=1470 

14. https://codeup.kr/problem.php?id=1471 

15. https://codeup.kr/problem.php?id=1472 

16. https://codeup.kr/problem.php?id=1473 

17. https://codeup.kr/problem.php?id=1474 

18. https://codeup.kr/problem.php?id=1475 

19. https://codeup.kr/problem.php?id=1476 

20. https://codeup.kr/problem.php?id=1477 

21. https://codeup.kr/problem.php?id=1478 

22. https://codeup.kr/problem.php?id=1479 

23. https://codeup.kr/problem.php?id=1480 

24. https://codeup.kr/problem.php?id=1481 

 

 

 

연습문제 1) n을 입력 받아 다음과 같이 파스칼 삼각형을 만드는 프로그램을 작성하시오.(단, n은 10보다 작거나 같은수)

 

입력 예) 4

출력예)

1

1 1

1 2 1

1 3 3 1

 

더보기

int arr[11][11]={0};

int n;

scanf("%d",&n);

arr[1][1]=1;

for(int i=2;i<=n;i++)

{

  for(int j=1;j<=i;j++) arr[i][j]=arr[i-1][j-1] + arr[i-1][j];

}

for(int i=1;i<=n;i++)

{

  for(int j=1;j<=i;j++) printf("%d ",arr[i][j]);

  printf("\n");

}

 

연습문제 2) n을 입력 받아 다음과 같이 1행 1열에 1을 채운 후 2행 1열 부터 왼쪽과 위를 합하여 배열을 생성후 출력하는 프로그램을 작성하시오.(단 n은 10보다 작거나 같은 수)

 

입력예) 4

출력예)

1 0 0 0 

1 1 1 1

1 2 3 4

1 3 6 10

더보기

int arr[11][11]={0};

int n;

scanf("%d",&n);

arr[1][1]=1;

for(int i=2;i<=n;i++)

{

  for(int j=1;j<=n;j++) arr[i][j]=arr[i-1][j] + arr[i][j-1];

}

for(int i=1;i<=n;i++)

{

  for(int j=1;j<=n;j++) printf("%d ",arr[i][j]);

  printf("\n");

}

연습문제 3) n을 입력 받아 다음과 같이 n행 1열에 1을 채운 후 n-1행 1열 부터 왼쪽과 아래를 합하여 배열을 생성후 출력하는 프로그램을 작성하시오.(단 n은 10보다 작거나 같은 수)

 

입력예) 4

출력예)

1 3 6 10

1 2 3 4

1 1 1 1

1 0 0 0 

 

더보기

int arr[11][11]={0};

int n;

scanf("%d",&n);

arr[n][1]=1;

for(int i=n-1;i>=1;i--)

{

  for(int j=1;j<=n;j++) arr[i][j]=arr[i+1][j] + arr[i][j-1];

}

for(int i=1;i<=n;i++)

{

  for(int j=1;j<=n;j++) printf("%d ",arr[i][j]);

  printf("\n");

}

 

 

연습문제4) 0 부터 9 까지 사이의 10개의 숫자를 입력 받아서 해당 숫자가 몇개 나왔는지 출력하시오.

 

입력예)

1 1 1 9 9 9 7 7 5 5 

출력예)

0 : 0

1 : 3

2 : 0

3 : 0

4 : 0

5 : 2

6 : 0 

7 : 2 

8 : 0

9 : 3

더보기

int a,cnt[10]={0};

for(i=1;i<=10;i++)

{

   scanf("%d",&a);

   cnt[a]++;

}

for(i=0;i<=9;i++)

{

  printf("%d : %d\n",i,cnt[i]);

}

 

 

연습문제 5) 다음의 수를 입력 받은 후 각 자리수의 합을 출력하시오.

입력예) 123456789

출력예) 45

 

더보기

while(n>0)

{

  sum+=n%10;

  n=n/10;

}

 

연습문제 6) 다음의 수를 입력 받은 후 각자리수에서 나타나는 수의 갯수를 출력하시오.

입력예) 131214157

출력예)

0 : 0

1 : 4

2 : 1

3 : 1

4 : 1

5 : 1

6 : 0

7 : 0

8 : 0 

9 : 0

더보기

while(n>0)

{

  cnt[n%10]++;

  n=n/10;

}

for(i=0;i<=9;i++)

{

  printf("%d : %d\n",i,cnt[i]);

}

 

연습문제 7) 어떤 수 n을 입력 받아서 각 자리수의 곱을 출력하시오.

입력예) 1234

출력예) 24

더보기

while(n>0){

   gop =  gop * n%10;

   n=n/10;

}

 

 

연습문제 8) 어떤 수 a b c 를 입력 받아서 세수의 곱을 연산하여 각 자리수의 합을 구하시오.

입력예) 150 266 427

출력예) 21

(세수를 곱하면 17037300 이고 각 자리수의 합은 21이다.)

더보기

n = a * b * c;

while(n>0){

   sum =  sum + n%10;

   n=n/10;

}

 

연습문제 9) 어떤 수 a b c 를 입력 받아서 세수의 곱을 연산 후 각각의 숫자가 몇번씩 사용되었는지를 출력하시오.

 

입력예) 150 266 427

출력예)

0 : 3

1 : 1

2 : 0

3 : 2

4 : 0 

5 : 0

6 : 0

7 : 2

8 : 0

9 : 0

더보기

n = a * b * c;

while(n>0)

{

  cnt[n%10]++;

  n=n/10;

}

for(i=0;i<=9;i++)

{

  printf("%d : %d\n",i,cnt[i]);

}

 

연습문제 10) 다음 10개의 문자를 입력 받아서 들어 온 문자의 갯수를 출력하는 프로그램을 작성하시오.

입력예) A A A B B B B B C C

출력예)

A : 3

B : 5

C : 2

 

더보기

int cnt[26]={0};

char ch;

for(int i=0;i<10;i++){

   scanf(" %c",&ch);

   cnt[ch-'A']++;

}

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

{

   if(cnt[i]>0) printf("%c : %d \n", i+'A',cnt[i]);

}

 

연습문제 11) 다음과 같이 4 * 4 행렬을 입력 받아서 행의 합과 열의 합, 총 합을 구해서 출력하는 프로그램을 작성하시오.

입력예)

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

 

출력예)

1 2 3 4 10

1 2 3 4 10

1 2 3 4 10

1 2 3 4 10

4 8 12 16 40

 

더보기

for(i=0;i<4;i++)

{

  for(j=0;j<4;j++){

    scanf("%d",&arr[i][j]);

    arr[i][4]+=arr[i][j];

    arr[4][j]+=arr[i][j];

    arr[4][4]+=arr[i][j];

  }

for(i=0;i<5;i++)

{

  for(j=0;j<5;j++){

    printf("%d ",arr[i][j]);

  }

  printf("\n");

연습문제 12) 다음과 같이 4 * 4 행렬을 입력 받아서 행의 합을 구해서 행의 합만 출력하는 프로그램을 작성하시오.

 

입력예)

1 2 3 4

1 2 3 5

1 2 3 6

1 2 3 7

 

출력예)

10

11

12

13

 

더보기

for(i=0;i<4;i++)

{

  for(j=0;j<4;j++){

    scanf("%d",&arr[i][j]);

    arr[i][4]+=arr[i][j];

    arr[4][j]+=arr[i][j];

    arr[4][4]+=arr[i][j];

  }

for(i=0;i<4;i++)

{

  printf("%d\n",arr[i][4]);

연습문제 12) 다음과 같이 4 * 4 행렬을 입력 받아서 행의 합을 구한 후 행의 평균을 정수부분만 출력하는 프로그램을 작성하시오.

 

입력예)

1 2 3 4

1 2 3 5

1 2 3 6

1 2 3 7

 

출력예)

2

2

3

3

더보기

for(i=0;i<4;i++)

{

  for(j=0;j<4;j++){

    scanf("%d",&arr[i][j]);

    arr[i][4]+=arr[i][j];

    arr[4][j]+=arr[i][j];

    arr[4][4]+=arr[i][j];

  }

for(i=0;i<4;i++)

{

  printf("%d\n",arr[i][4]/4);

 

연습문제 13) 다음과 같이 4 * 4 행렬을 만들고 1행 1열의 위치의 값을 출력하시오.

입력 예)

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

 

출력예)

1

 

연습문제 14) 다음과 같이 4 * 4 행렬을 만들고 3행 2열의 위치의 값을 출력하시오.

입력 예)

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

 

출력예)

10

 

연습문제 15) 다음과 같이 6 * 4 행렬을 만들고 4행 2열의 위치의 값을 출력하시오.

입력 예)

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

17 18 19 20

21 22 23 24

 

출력예)

14

 

연습문제 16) 다음과 같이 4 * 7 행렬을 만들고 3행 4열의 위치의 값을 출력하시오.

입력 예)

1 2 3 4 5 6 7

5 6 7 8 9 10 11

9 10 11 12 13 14 15

13 14 15 16 17 18 19

 

출력예)

12

 

반응형

'프로그래밍언어문법 > 배열' 카테고리의 다른 글

568 : 배열2 - 자가진단5  (0) 2022.08.07
567 : 배열2 - 자가진단4  (0) 2022.08.07
ch9.배열1 연습문제  (0) 2021.06.08
ch10_07.배열2  (0) 2021.01.24
ch10_06.배열2  (0) 2021.01.24