문제 1
10명의 학생 성적을 배열에 저장하고 총점과 평균을 구하는 프로그램을 작성하세요.
A:
#include <stdio.h>
void main()
{
int scores[10] = { 0 };
int total=0;
for (int i = 0; i < 10; i++)
{
printf("점수 입력 :");
scanf_s("%d", &scores[i]);
total += scores[i];
}
printf(" 총점 : %d 평균 : %.2lf", total, (double)total / 10);
}

문제 2
다음 두 배열에서 같은 배열 요소 간에 곱하는 프로그램을 반복문을 이용하여 작성하세요.
2.2 | 3.5 | 2.5 | 10.1 | 4.0 |
3.3 | 2.0 | 4.0 | 1.0 | 2.5 |
A:
1번 요소끼리 곱하고, 2번 요소끼리 곱하고... 이런 식으로 하라는 뜻이다.
#include <stdio.h>
void main()
{
double array1[5] = { 2.2, 3.5, 2.5, 10.1, 4.0 };
double array2[5] = { 3.3, 2.0, 4.0, 1.0, 2.5 };
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (i == j)
{
printf("array[%d] * array2[%d] = %lf\n", i, j, array1[i] * array2[j]);
}
}
}
}

문제 3
그림과 같이 배열을 90도 회전시키세요.
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
5 | 1 |
6 | 2 |
7 | 3 |
8 | 4 |
A:
사실 이게 잘 안되서 고민을 많이 했다.
조금 어렵기도 했다... 다시 어떤 원리인지 생각해봐야할 것 같다...
#include <stdio.h>
void main()
{
int array[2][4] = {
{1,2,3,4},
{5,6,7,8}
};
int array2[4][2];
for (int i = 0; i < 4; i++)
{
for (int j = 1; j >=0 ; j--)
{
array2[i][j] = array[j][i];
printf("%d ", array2[i][j]);
}
printf("\n");
}
}

문제 4
중심가에 위치한 3층짜리 열혈아파트는 각 층마다 세 세대가 있습니다. 각 세대의 가족수를 사용자로부터 입력받아 열혈아파트 전체 주민의 수를 구하세요.
실행결과
1층 1호의 가족은 몇 명입니까? : 1
1층 2호의 가족은 몇 명입니까? : 2
1층 3호의 가족은 몇 명입니까? : 4
2층 1호의 가족은 몇 명입니까? : 7
2층 2호의 가족은 몇 명입니까? : 6
2층 3호의 가족은 몇 명입니까? : 5
3층 1호의 가족은 몇 명입니까? : 3
3층 2호의 가족은 몇 명입니까? : 4
3층 3호의 가족은 몇 명입니까? : 4
열혈아파트 총 주민수는 36명입니다.
A;
#include <stdio.h>
void main()
{
int array[3][3];
int sum = 0;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
printf("%d층 %d호의 가족은 몇 명입니까? : ",i+1,j+1);
scanf_s("%d", &array[i][j]);
sum += array[i][j];
}
}
printf("열혈아파트 총 주민수는 %d명입니다.\n", sum);
}

문제 5
4행 3열의 2차원 배열 두 개에서 같은 배열 요소의 행과 열 간에 합과 차를 구하세요. 즉, 행렬릐 합과 차를 구하는 프로그램을 작성하세요.
23 | 75 | 85 |
12 | 77 | 51 |
25 | 66 | 30 |
19 | 90 | 88 |
11 | 15 | 47 |
74 | 85 | 69 |
57 | 86 | 28 |
90 | 22 | 33 |
A:
#include <stdio.h>
void main()
{
int array1[4][3] = {
{23,75,85},
{12,77,51},
{25,66,30},
{19,90,88}
};
int array2[4][3] = {
{11,15,47},
{74,85,69},
{57,86,28},
{90,22,33}
};
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 3; j++)
{
printf("%d행 %d열 \n합:%d 차:%d \n", i + 1, j + 1, array1[i][j] + array2[i][j], array1[i][j] - array2[i][j]);
}
printf("\n");
}
}

'# 개발 > C언어' 카테고리의 다른 글
c언어 #9 - 구조체 (국비11일차) (0) | 2023.01.13 |
---|---|
c언어 #8 - 포인터 (국비10일차) (0) | 2023.01.12 |
c언어 #7 - 배열, 문자열 (국비9일차) (0) | 2023.01.11 |
c언어 연습문제 #7 (국비8일차) (0) | 2023.01.10 |
c언어 #6 - 함수(function), 지역,전역,정적변수, 재귀호출 (국비8일차) (0) | 2023.01.10 |