C언어 공부/코딩 도장 문제 풀이 (34) 썸네일형 리스트형 35.7 심사문제 write up 메모리에 값을 저장해서 계산하게 하는 문제다. 빈 칸에는 numPtr1, numPtr2를 정의해주고 동적 메모리를 할당해줘야 한다. 답은 int *numPtr1; int *numPtr2; numPtr1 = malloc(sizeof(int)); numPtr2 = malloc(sizeof(int)); 34.10 심사문제 write up 변수 num1의 메모리 주소는 포인터 변수 numPtr1에 저장됨 다음으로 포인터 변수 numPtr1의 주소는 이중포인터 numPtr2에 저장됨 답은 numPtr1 = &num1; numPtr2 = &numPtr1; 29.10 심사문제 write up 빈 칸에는 sum에 0보다 크고 num1보다 같거나 작은 모든 숫자의 합이 들어가야 한다. 그리고 i의 값을 1씩 증가시켜주는 반복문이 필요하다. 답은 sum += i; i++; 28.11 심사문제 write up 먼저 충전할 금액을 받기 위해 변수 a를 선언해준다. a가 1100원 이하로 남았다면 결제가 되지 않기 때문에 while문을 사용해서 a 1100) { a = a - 1200; printf("%d\n", a); } } 27.12 심사문제 write up 이 문제를 문자 하나를 입력 받은 후 입력된 문자부터 z까지 출력하는 문제이다. 문제를 해결하기 위해서 for문을 사용해야 한다. 먼저 char a; 를 선언해주고 for문으로 a가 z의 번호인 122보다 커질때까지 a의 번호에서 하나씩 더하는 과정을 반복해서 출력해주면 된다. 답은 #define _CRT_SECURE_NO_WARNINGS #include int main() { char a; scanf("%c", &a); for (; a < 123; a++) { printf("%c", a); } return 0; } 26.8 심사문제 write up case로 입력 값이 f, c, p일 때와 셋 다 아닐 때 네가지 경우를 만들어줍니다. 문자는 ' ' 따옴표로 감싸줘야 합니다. 각각의 case 안에 문제의 요구사항에 맟춰 출력 값을 설정해주고 출력 후에는 종료될 수 있도록 break를 선언해줍니다. 마지막으로 세가지 경우 모두 해당이 없을 때를 위해서 default의 경우를 만들어줍니다. 답은 case 'f' : printf("환타\n"); break; case 'c': printf("콜라\n"); break; case 'p': printf("포카리스웨트\n"); break; default: printf("판매하지 않는 메뉴\n"); break; 25.7 심사문제 write up 일단 식을 쭉 써보면 num1 + num2 * 10 - num3 이렇게 될 것이다. 하지만 연산자 우선 순위에 의해 num2 * 10이 먼저 실행될 것이다. 그것을 막아주기 위해서 괄호를 씌워주면 된다. 순서대로 실행되게 하기 위해 ( num1 + num2 ) * 10 - num3 답은 ( num1 + num2 ) * 10 - num3 23.9 심사문제 write up 이번 문제는 시프트 연산자 문제이다. 시프트 연산자는 > 오른쪽으로 시프트 후 할당 문제에서 요구하듯 unsigned long long으로 변수 a를 선언해준다. 그리고 scanf로 변수 a의 값을 받아준다. 다음 출력할 때도 마찬가지로 주어진 서식지정자로 a의 값을 왼쪽으로 20번 오른쪽으로 4번 시프트해주고 출력해주면 된다. a > 4 이렇게 해주면 된다. 답은 #define _CRT_SECURE_NO_WARNINGS #include int main() { unsigned long long a; scanf("%llu", &a); printf("%llu", a > 4); } 이전 1 2 3 4 5 다음