★ 문제 1
- 프로그램 사용자로부터 두 개의 정수를 입력 받아서, 두 정수를 포함하여 그 사이에 존재하는 정수들의 합을 계산해서 출력하는 프로그램을 작성해 보자.
- 예를 들어서 3과 5가 입력되면, 3+4+5의 결과가 출력되어야 한다.
- 그리고 문제를 조금 간단히 하기 위해서, 첫 번째 입력되는 저수보다 두 번째 입력되는 정수가 더 커야 한다는 조건을 걸기로 하겠다.
- 설명 : num_1 부터 num_2 까지의 정수 합을 구해야하기 때문에 num_1 = num_2가 될 때까지 num_1을 1씩 증가시켜가며 더하는 반복문 작성
// 문제 1
#include <stdio.h>
int main()
{
int num_1, num_2;
int sum_ = 0;
printf("두 개의 정수 입력(두번째 정수가 더 커야함!) : ");
scanf("%d %d", &num_1, &num_2);
// 이 문제는 num_1 부터 num_2까지의 정수의 합을 구하는 문제임
// 따라서, num_1이 num_2와 같아질때까지 num_1을 1씩 증가시켜가며 더하는 반복문 필요
for(num_1 ; num_1 <= num_2 ; num_1++)
{
sum_ += num_1;
}
printf("합 : %d\n", sum_);
return 0;
}
★ 문제 2
- 다음 수식의 계승(factorial)을 계산하는 프로그램을 작성해보자.
- n! = 1 x 2 x 3 x ...... x n
- 프로그램 사용자로부터 n에 해당하는 정수를 입력 받는다. 그러면 n의 계승 n!를 계산해서 출력이 이뤄져야 한다.
- 설명 : 사용자로부터 입력받은 n!을 구하기 위해 num_1이 0보다 클 때까지 num_1을 1씩 감소시켜가며 곱함
- 책의 답안에서는 i를 선언하여 i가 num_1과 같아질때까지 1씩 증가시켜가며 곱함.
// 문제 2
#include <stdio.h>
int main()
{
int num_1, num_2;
int fact_ = 1;
printf("정수를 입력해주세요 : ");
scanf("%d", &num_1);
num_2 = num_1;
for(num_1 ; num_1 > 0 ; num_1--)
{
fact_ *= num_1;
}
printf("%d! = %d\n", num_2, fact_);
return 0;
}
'C > 예습' 카테고리의 다른 글
[2025.03.09] (예습) if~else문의 활용_연습문제 (3) | 2025.03.09 |
---|---|
[2025.03.09] (예습) 조건에 따른 흐름의 분기 (1) | 2025.03.09 |
[2025.03.08] (예습) while문_연습문제 (2) | 2025.03.08 |
[2025.03.08] (예습) 반복실행을 명령하는 반복문 (0) | 2025.03.08 |
[2025.03.08] (예습) scanf 연습문제 풀이 (0) | 2025.03.08 |