연재 완료/C Lang 예제코드 모음

C언어 실습문제 풀이 CH4 (9 ~ 12)

라이피 (Lypi) 2018. 5. 7. 18:01
반응형

문제 출처 : 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);

}


반응형