반응형
문제 출처 : YES C (정보공학연구소/생능출판사)
9. 다음식을 만족하는 A,B,C,D를 구하라
A C B
- B B C
-------------
B D C
#include <stdio.h> int main() { int a, b, c, d, result; for (a = 1; a < 10; a++) { for (b = 1; b < 10; b++) { for (c = 0; c < 10; c++) { for (d = 0; d < 10; d++) { result = (100 * a + 10 * c + b) - (100 * b + 10 * b + c); if (result == (100 * b + 10 * d + c)) { printf("a = %d, b = %d, c = %d, d = %d \n", a, b, c, d); } } } } } return 0; }
10. 정수 n을 scanf()를 통해 읽어들여 n이 짝수면 0부터 n까지의 짝수를, 홀수면 0부터 n까지의 홀수를 합산하는 프로그램을 for문으로 작성하라.
#include <stdio.h> int main() { int i, input, sum = 0, line = 0; printf("0부터 합산할 수를 입력하세요. : "); scanf_s("%d", &input); for (i = input % 2 != 0 ? 1 : 2; i <= input; i += 2) { sum += i; line++; printf("%d",i); if (i != input) { printf(" + ");} if (line == 5) { line = 0; printf("\n"); } } printf(" = %d \n", sum); }
11. 사용자가 프로그램을 종료하기까지 갤런(gallon)을 리터(litter)로 환산해 주는 프로그램을 작성하여라. (1갤런 = 약 3.7854리터)
#include <stdio.h> int main() { float input, convert; do { printf("환산을 원하는 갤런양을 입력하세요. (음수를 입력하면 종료됩니다.) : "); scanf_s("%f", &input); if (input < 0) { return 0; } convert = input * 3.7854; printf("%f갤런은 %f리터 입니다. \n", input, convert); } while (input >= 0); }
12. 2^2 + 4^2 + ... +i^2 이 5000을 초과하는 가장 작은 i와 그 때의 합을 구하는 프로그램을 작성하라.
int main() { int i = 2, sum = 0, line = 0; do { printf("%d",i*i); sum += i * i; i += 2; line++; if (sum <= 5000) { printf(" + "); } if (line == 5) { line = 0; printf("\n"); } } while (sum <= 5000); printf(" = %d \n", sum); printf("조건을 만족하는 i의 최소값은 %d입니다. \n", i-2); }
반응형