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 |