C

    [C] C언어 코딩 도장 38.7 심사문제: 단위행렬 만들기

    표준 입력으로 정사각행렬의 크기가 입력됩니다(입력 값의 범위는 2~10). 입력된 크기만큼의 단위행렬을 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다). 숫자와 숫자 사이는 공백으로 띄웁니다. 단위행렬은 왼쪽 위부터 오른쪽 아래까지의 대각선(주대각선)이 1이며 나머지는 모두 0인 행렬입니다. 표준 입력 5 표준 출력 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 정답 #include #include int main() { int size; scanf("%d", &size); int **m = malloc(sizeof(int*)*size); // 이중 포인터에 (int 포인터 크기 * size)만큼 동적 메모리 할당(배열의 세..

    [C] C언어 코딩 도장 37.9 심사문제: 전치행렬 구하기

    표준 입력으로 5X5 정사각행렬이 입력됩니다. 다음 소스 코드를 완성하여 입력된 행렬의 전치행렬이 출력되게 만드세요. 전치행렬은 왼쪽 위부터 오른쪽 아래까지의 대각선(주대각선)을 기준으로 값을 뒤집은 행렬을 말합니다. 표준 입력 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 표준 출력 1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25 judge_transpose_of_matrix.c #define _CRT_SECURE_NO_WARNINGS #include int main() { int matrix[5][5]; scanf("%d %d %d %d %d", &matrix[..

    [C] C언어 코딩 도장 36.13 심사문제: 가장 작은 수 출력하기

    표준 입력으로 정수 다섯 개가 입력됩니다(입력 값의 범위는 -2147483648~2147483647). 다음 소스 코드를 완성하여 입력된 정수 중에서 가장 작은 수가 출력되게 만드세요. 표준 입력 20 40 10 50 30 표준 출력 10 judge_smallest_number.c #define _CRT_SECURE_NO_WARNINGS #include int main() { int numArr[5]; int smallestNumber; scanf("%d %d %d %d %d", &numArr[0], &numArr[1], &numArr[2], &numArr[3], &numArr[4]); _____________________________________ ____________________________..

    [C] C언어 코딩 도장 35.7 심사문제: 두 정수의 합 구하기

    표준 입력으로 두 정수가 입력됩니다(입력 값의 범위는 0~1073741824). 다음 소스 코드를 완성하여 입력된 두 정수의 합이 출력되게 만드세요. 표준 입력 표준 출력 judge_add_two_integer.c #define _CRT_SECURE_NO_WARNINGS #include #include int main() { int num1; int num2; _________________________________ _________________________________ scanf("%d %d", &num1, &num2); *numPtr1 = num1; *numPtr2 = num2; printf("%d\n", *numPtr1 + *numPtr2); free(numPtr1); free(numPtr..

    [C] C언어 코딩 도장 34.10 심사문제: 포인터와 주소 연산자 사용하기

    표준 입력으로 정수가 입력됩니다. 다음 소스 코드를 완성하여 입력된 정수가 출력되게 만드세요. 표준 입력 10 표준 출력 10 judge_pointer.c #define _CRT_SECURE_NO_WARNINGS #include int main() { int *numPtr1; int **numPtr2; int num1; scanf("%d", &num1); ___________________ ___________________ printf("%d\n", **numPtr2); return 0; } 정답 numPtr1 = &num1; numPtr2 = &numPtr1; 풀이 첫 번째 줄에서 *를 이용하여 포인터 변수를 선언하였고, 두 번째 줄에서 **를 이용하여 이중 포인터 변수를 선언하였다. 다음, scan..

    [C] C언어 코딩 도장 33.8 심사문제: 5와 11의 배수, 공배수 처리하기

    표준 입력으로 정수 두 개가 입력됩니다(첫 번째 입력 값의 범위는 1~1000, 두 번째 입력 값의 범위는 10~1000이며 첫 번째 입력 값은 두 번째 입력 값보다 항상 작습니다). 첫 번째 정수부터 두 번째 정수까지 숫자를 출력하면서 5의 배수일 때는 "Fizz", 11의 배수일 때는 "Buzz", 5와 11의 공배수일 때는 "FizzBuzz"를 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다). 표준 입력 50 60 표준 출력 Fizz 51 52 53 54 FizzBuzz 56 57 58 59 Fizz 정답 #include int main() { int num1, num2; scanf("%d %d", &num1, &num2); for (int i=num1;i

    [C] C언어 코딩 도장 32.6 심사문제: 중첩 루프 빠져나오기

    주의! 책 심사문제와 온라인 심사문제 빈칸이 차이가 있습니다. 온라인 기준으로 풀이하겠습니다. 이 점 유의하세요! 다음 소스 코드를 완성하여 200과 300이 각 줄에 출력되게 만드세요. 표준 출력 200 300 judge_goto.c #include int main() { int num1 = 0; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { if (num1 == 10) goto _____ num1++; } } EXIT1: printf("100\n"); EXIT2: printf("200\n"); EXIT3: printf("300\n"); return 0; } 정답 EXIT2; 풀이 반복문 안에서 num1이 10이 되면 goto를 이용하여 20..

    [C] C언어 코딩 도장 31.7 심사문제: 산 모양으로 별 출력하기

    표준 입력으로 삼각형의 높이가 입력됩니다(입력 값의 범위는 3~10). 입력된 높이만큼 산 모양으로 별을 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다). 이때 출력 결과는 예제와 정확히 일치해야 합니다. 모양이 같더라도 공백이나 빈 줄이 더 들어가면 틀린 것으로 처리됩니다. 표준입력 3 표준 출력 * *** ***** 표준 입력 5 표준 출력 * *** ****** ******** ********** 정답 #include int main() { int num; scanf("%d", &num); for (int i = 0; i < num; i++) { for (int j = 0; j = num - i - 1&& j