본문 바로가기
IT/프로그래밍

누구나 쉽게 즐기는 C언어 콘서트 6장 실습문제 정답

by nutrient 2020. 12. 13.
728x90
728x170

 

 

 

누구나 쉽게 즐기는 C언어 콘서트 6장 실습문제 정답

 

누구나 쉽게 즐기는 C언어 콘서트 6장 실습문제 정답

 

1번

#include <stdio.h>
main() {
	int i = 60;
	for (i = 60;i >= 0;i--)
		printf("%d ", i);
	printf("발사\n");
	
}

 

2번

#include <stdio.h>
main() {
	int num, i;
	printf("몇번이나 반복할 까요?: ");
	scanf("%d", &num);
	for (i = 1;i <= num;i++)
		printf("안녕하세요?\n");

}

 

 

 

3번

#include <stdio.h>
main() {
	int i;
	for (i = 65;i <= 90;i++)
		printf("%d : %c\n", i, i);
}

 

4번

#include <stdio.h>

int main(void) {
	//변수 초기화
	int num = 0, sum = 0;

	//endless loop
	while (1 == 1) {
		printf("정수를 입력하시오: ");
		scanf("%d", &num);

		//입력된 정수가 0인지 판별
		if (num == 0) break;
		else sum += num;
	}
	printf("합계=%d\n", sum);

	return 0;
}

 

5번

#include <stdio.h>
main() {
	int i, j, h = 1, k;

	for (i = 1;i <= 7;i++)
	{
		h = 1;
		for (k = 1;k <= i;k++) {

			printf("%d", h);
			h++;
		}
		for (j = 1;j <= (7 - i);j++)
			printf("*");
		printf("\n");
	}
}

 

 

 

6번

#include <stdio.h>

int main(void) {
	//for문 초기값
	int i = 0;

	for (i = 1; i <= 100; i++)
		//3의 배수
		if (i % 3 == 0)
			printf("%d ", i);

	return 0;
}

 

7번

#include <stdio.h>

int main(void) {
	//for문 초기값
	int i = 0;
	for (i = 1; i <= 100; i++)
		//3의 배수이면서 5의 배수
		if (i % 3 == 0 && i % 5 == 0)
			printf("%d ", i);
	//printf("\n");

	return 0;
}

 

8번

#include <stdio.h>

int main(void) {
	//변수 초기화
	int x = 0, y = 0, sum = 0;
	//for문의 초기값
	int i = 0;

	printf("시작정수: ");
	scanf("%d", &x);
	printf("종료정수: ");
	scanf("%d", &y);
	//x부터 y까지 반복
	for (i = x; i <= y; i++)
		sum += i;
	printf("Sum of %d to %d = %d\n", x, y, sum);

	return 0;
}

 

 

 

9번

#include <stdio.h>

int main(void) {
	int num, i;

	printf("정수를 입력하시오: ");
	scanf("%d", &num);

	for (i = 1; i <= num; i++)
		while (1 == 1) {
			//약수구하기
			if (num%i == 0) {
				printf("%d ", i);
				//소인수분해
				//num /= i;
			}
			break;
		}

	return 0;
}

 

10번

#include <stdio.h>

int main(void) {
	int i;
	printf("======================\n화씨온도      섭씨온도\n======================\n");
	for (i = 0; i <= 100; i += 10)
		printf("%d\t%d\n", i, (int)((i - 32) / 1.8));

	return 0;
}

 

11번

#include <stdio.h>

int main(void) {
	int i, j, num;

	printf("정수를 입력하시오: ");
	scanf("%d", &num);

	for (i = 1; i <= num; i++) {
		for (j = 1; j <= i; j++)
			printf(" %d ", j);
		printf("\n");
	}

	return 0;
}

 

 

 

12번

#include <stdio.h>

int main(void) {
	int i, n, num;

	for (n = 1; n <= 10; n++) {
		printf("데이터를 입력하시오:");
		scanf("%d", &num);
		for (i = 1; i <= num; i++)
			printf("*");
		printf("\n");
	}

	return 0;
}

 

13번

#include <stdio.h>

int main(void) {
	int a, b, c;

	printf("a\tb\tc\n====================\n");

	for (a = 1; a <= 100; a++)
		for (b = 1; b <= 100; b++)
			for (c = 1; c <= 100; c++)
				if ((a*a) + (b*b) == (c*c))
					printf("%d\t%d\t%d\n", a, b, c);
	printf("====================\n");

	return 0;
}

 

14번

#include <stdio.h>

int main(void) {
	int i, n, result = 0;

	printf("n의 값을 입력하시오: ");
	scanf("%d", &n);

	for (i = 1; i <= n; i++)
		result += i * i;
	printf("계산값은 %d입니다.", result);

	return 0;
}

 

 

 

15번

#include <stdio.h>

int main(void) {
	char c;
	int count = 0;

	while (1 == 1) {
		printf("문자를 입력하시오: (종료 .)");
		c = getchar();
		getchar();
		if (c == '.') break;
		else if (c == 'a') count++;
	}
	printf("a의 개수=%d", count);

	return 0;
}

 

16번

#include <stdio.h>

int main(void) {
	int fuel = 1000, change;

		fuel = 500;
		printf("초기연료량: %d\n", fuel);
	do {
		printf("연료 충전은 +, 소모는 -로 입력해주세요: ");
		scanf("%d", &change);
		fuel = fuel + change;
		printf("현재 남아있는 양은 %lf\n", (double)fuel);
	} while (fuel > 100);
	printf("\n(경고) 연료가 10이하입니다.\n");

	return 0;
}

 

 

 

17번

#include <stdio.h>

int main(void) {
	int n, i, flag = 0;

	printf("정수를 입력하시오: ");
	scanf("%d", &n);

	for (i = 2; i <= n / 2; ++i) {
		if (n%i == 0) {
			flag = 1;
			break;
		}
	}
	if (flag == 0)
		printf("%d는 소수입니다.\n", n);
	printf("%d는 소수가 아닙니다.\n", n);

	return 0;
}

 

18번

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void) {
	int i, chance = 0, bets = 0, vic = 0;
	int cash = 50;
	srand((unsigned)time(NULL));

	printf("초기 금액 $%d\n목표금액 $250\n", cash);
	for (i = 1; i <= 1000; i++) {
		while (1 == 1) {
			bets++;
			chance = rand();
			if ((double)rand() / RAND_MAX < 0.5) cash++; //1을 딴다.
			else cash--;

			if (cash == 250)
			{
				vic++;
				break;
			}
			else if (cash == 0) break;
		}
	}
	printf("1000번 중의 %d번 승리\n", vic);
	printf("이긴 확률=%lf\n", (double)vic / 1000 * 100);
	printf("평균 배팅 횟수 = %lf\n", (double)bets / 1000);

	return 0;
}

 

 

 

19번

#include <stdio.h>

int fib(int);

int main(void) {
	int i, num;
	printf("몇번째 항까지 구할까요? ");
	scanf("%d", &num);

	for (i = 0; i <= num; i++) {
		printf("%d, ", fib(i));

	}

	return 0;
}

int fib(int n) {
	int i, temp = 0;
	int cur = 1;
	int last = 0;

	for (i = 0; i < n; i++) {
		last = temp + cur;
		temp = cur;
		cur = last;
	}
	return temp;
}
728x90
그리드형

댓글