C & C++/윤성우의 열혈 C 프로그래밍7 [열혈 C] 도전! 프로그래밍3 - 달팽이 배열 도전 2 달팽이 배열 달팽이 배열을 만들어서 이를 출력하는 프로그램을 작성하고자 한다. 여기서 말하는 달팽이 배열은 다음과 같다. 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 최좌상단칸 부터 시작해서 시계방향으로 수를 채워나가는 배열이다. 사용자로부터 숫자 n을 입력받아서 n x n 크기의 달팽이 배열을 출력해주는 프로그램을 작성해보자. 풀이 과정 이중 반복문의 형태로 큰 반복문 속에 한바퀴를 회전하기 위한 반복문을 넣어서 구현해야겠다고 생각했습니다. 그리고 n의 제곱이 되는 수가 입력되면 입력을 종료하고 해당 범위의 배열을 출력합니다. 코드 #include int main(void) { int n, x = 0, y = 0, num = 1, rpt = 0; int arr[100].. 2023. 10. 19. [열혈 C] 도전! 프로그래밍1 - 유클리드 호제법과 덧셈조합 오늘은 열혈 C의 도전! 프로그래밍 1 파트를 풀어보겠습니다. 교재에 답이 없기 때문에 제가 틀렸을 수도 있습니다. 이점 유의하고 봐주시기 바랍니다. 도전 1부터 도전 8까지 있는데 제가 풀면서 고민했던 문제만 풀이해 보겠습니다! 도전 3 두 개의 정수를 입력 받아서 최대 공약수(GCD)를 구하는 프로그램을 작성 해 보자. 이 문제는 풀이가 두가지 입니다. 첫 번째 방법인 단순하게 후보들을 전부 나눠보는 방법부터 설명하겠습니다. #include int main(void) { int min, max; int a, b; int gcd=1; scanf_s("%d %d", &a, &b); min = a > b ? b : a; //작은 수로 초기화 max = a > b ? a : b; //큰 수로 초기화 for .. 2023. 10. 9. [열혈 C] printf함수에서 서식문자의 다양한 활용 서식문자의 종류와 그 의미 printf 함수에서 쓰이는 서식문자의 종류를 알아보자. 서식문자 출력 대상 출력 형태 %d char, short, int 부호 있는 10진수 정수 %o unsigned int 부호 없는 8진수 정수 %x unsigned int 부호 없는 16진수 정수 %s char* 문자열 %#o 와 %#x %o 와 %x 는 서식문자 사이에 #을 넣게 되면 해당 진수임을 드러내며 출력이 된다. #include int main(void) { int a = 17; printf("10진수 : %d\t8진수 : %#o\t16진수 : %#x", a, a, a); return 0; } 10진수 : 17 8진수 : 021 16진수 : 0x11 위와 같이 8진수 앞에는 '0'이 붙고 16진수 앞에는 '0x.. 2023. 10. 5. [열혈 C] 논리 연산자와 콤마 연산자 관계 연산자 연산자 연산자의 기능 예) n1 > n2 n1이 n2보다 큰가? == 예) n1 == n2 n1과 n2가 같은가? != 예) n1 != n2 n1과 n2가 다른가? = n2 n1이 n2보다 같거나 큰가? 위의 관계 연산자들은 조건을 만족하면 1을 만족하지 않으면 0을 반환한다. 여기서 1은 참(true)을 뜻하고 0은 거짓(false)을 뜻한다. 논리 연산자 논리 연산자 연산자의 기능 ! 예) !A A가 참이면 거짓, A가 거짓이면 참을 반환(논리 NOT) && 예) A && B A와 B 모두 참이면 연산결과로 참을 반환(논리 AND) || 예) A || B A와 B 둘 중 하나라도 참이면 연산결과로 참을 반환(논리 OR) 논리 연산자 !의 예제를 보자. #include int main(vo.. 2023. 10. 3. [열혈 C] 단항 연산자와 증가, 감소 연산자 부호연산의 의미를 갖는 + 연산자와 - 연산자 + 연산자와 - 연산자는 이항 연산자로서 덧셈과 뺄셈을 의미하지만, 피연산자가 하나인 단항 연산자로서 부호를 뜻하기도 한다. 이는 +3, -7과 같이 숫자 앞에 붙는 부호를 뜻하는 것이므로 생소하지 않을 것이다. 그럼 이와 관련해서 다음 예제를 보자 #include int main(void) { int num1 = +2; int num2 = -4; num1 = -num1; //num1의 부호를 바꾸어 주기 위해 -를 사용했다. printf("num1: %d \n", num1); num2 = -num2; //num2의 부호를 바꾸어 주기 위해 -를 사용했다. printf("num2: %d \n", num2); return 0; } num1: -2 num2: 4.. 2023. 10. 3. [열혈 C] Part 01 C언어의 기본 - 서식문자와 연산자 Chapter 02-3 printf 함수의 기본적인 이해 #include int main(void) { printf("Hello Everybody\n"); printf("%d\n", 1234); printf("%d %d\n", 10, 20); return 0; } Hello Everybody 1234 10 20 문제 1 다음의 출력결과를 보이도록 예제를 작성해보자. 단, 출력되는 숫자들(20, 123, 456)은 서식문자 %d를 이용하여 출력하도록 하자. 제 이름은 홍길동입니다. 제 나이는 20살이고요. 제가 사는 곳의 번지수는 123-456입니다. #include int main(void) { printf("제 이름은 홍길동입니다.\n"); printf("제 나이는 %d살이고요.\n", 20); pri.. 2023. 10. 3. 이전 1 2 다음