흔한 생활/잡다한 공부
[C언어] C 프로그래밍 중간고사 대비 연습문제
흔한 학생
2023. 7. 2. 21:19
[든든한 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. 과목 이름, 과목 실수형 점수 입력 받고 총점, 평균 출력하기