본문 바로가기
흔한 학교 생활/든든한 C 프로그래밍

[C언어] C 프로그래밍 중간고사 대비 연습문제

by 흔한 학생 2023. 7. 2.
반응형

[든든한 C 프로그래밍 3판]

 

CHAP1~CHAP8 배열과 문자열까지

핵심 복습

 

1. 팩토리얼 계산 코드(재귀 함수 이용)

- 입력만 있고 반환값이 없음 static 이용

#include <stdio.h>
#pragma warning(disable:4996)
//1. 팩토리얼
int fact(int);

int main()
{
	int num;
	printf("입력: ");
	scanf("%d", &num);
	
	printf("%d! : %d", num, fact(num));
}

int fact(int n)
{
	if (n > 0)
		return n * fact(n-1);
	else
		return 1;
}

2. 소수 판단 코드(제어문 이용)

#pragma warning(disable:4996)
#include <stdio.h>

int main()
{
	int num, i, prime;
	printf("Enter the number ? ");
	scanf("%d",&num);

	prime = 1;
	for (i = 2; i <= num / 2; i++)
	{
		if (num % i == 0)
		{
			prime = 0;
			break;
		}
	}
	if (prime == 1)
		printf("The number is prime. \n");
	else
		printf("The number is not prime. \n");

	return 0;
}

 

3. 2g, 3g, 5g 추로 81g 되는 경우의 수 출력하기(제어문 이용)

#pragma warning(disable:4996)
#include <stdio.h>

int main()
{
	int i, j, k, tot, count = 0;

	for (i=1;i<=10;i++)
		for(j=1;j<=10;j++)
			for (k = 1; k <= 10; k++)
			{
				tot = 2*i + 3*j + 5*k;
				if (tot == 81)
				{
					count += 1;
					printf("2g:%3d, 3g:%3d, 5g:%3d \n", i, j, k);
				}
			}
	printf("81g인 경우의수 : %d \n", count);
	return 0;
}

 

 

4.

ABCDE

   ABCD

....

          A

처럼 결과가 나오도록 (제어문 이용)

#include <stdio.h>
#pragma warning(disable:4996)

int main()
{
	int i, r;
	for (r = 1; r <= 5; r++)
	{
		for (i = 'A'; i <= 'E'; i++)
			if (i < 'A'+ r - 1)
				printf(" ");
			else
				printf("%c", i-r+1);
		printf("\n");
	}
	return 0;
}

 

5.

ABCDE
   BCDE

...

          E

처럼 결과가 나오도록 (이중 for문)

#include <stdio.h>

int main()
{
	int i, r;
	for (r = 1; r <= 5; r++)
	{
		for (i = 'A'; i <= 'E'; i++)
			if (i < 'A'+ r - 1)
				printf(" ");
			else
				printf("%c", i);
		printf("\n");
	}
	return 0;
}

 

6. 윤년 판단 코드(제어문 이용)

#include <stdio.h>
#pragma warning(disable:4996)
int main()
{
	int  year;
	printf("년도 입력");
	scanf("%d", &year);

	if (year % 4 != 0)
		printf("%d년은 윤년이 아닙니다\n",year);
	else if (year % 100 == 0 && year % 400 != 0)
		printf("%d년은 윤년이 아닙니다\n",year);
	else
		printf("%d년은 윤년입니다\n",year);

	return 0;
}

 

7. 사다리꼴 넓이 구하기

#include <stdio.h>
#pragma warning(disable:4996)
//사다리꼴 넓이 구하기
int main()
{
	int up, down, hg;
	printf("윗변 아랫변 높이 입력");
	scanf("%d %d %d", &up, &down, &hg);

	printf("넓이: %lf", (up + down) * hg * 0.5);
	return 0;
}

 

8. 함수의 프로토타입 만들고 논리 연산자 개념 이용 

 

 

9. 과목 이름, 과목 실수형 점수 입력 받고 총점, 평균 출력하기

 

 

 

반응형