C

[C] Switch Case를 활용해서 첫 번째 수와 마지막 수를 입력해서 마지막 수까지 더해서 출력하기

U__q 2022. 9. 14. 15:47
728x90

문제

첫 번째 수와 마지막 수를 입력해서 첫 번째 수에서 마지막 수까지 커지면서 값을 더해서 출력하기 (Switch Case 활용)

실행 결과 예시

더하는 시작 수를 입력하시오 : 9
마지막 수를 입력하시오 : 10
19

소스 코드

#include <stdio.h>

int main(void) {
	int st_num = 0;
	int end_num = 0;
	int sum = 0;

	printf("더하는 시작 수를 입력하시오 : ");
	scanf_s("%d", &st_num);
	printf("마지막 수를 입력하시오 : ");
	scanf_s("%d", &end_num);

	while (st_num <= end_num) {
		sum += st_num++;
	}
	printf("%d", sum);

	return 0;
}

소스 코드 풀이

	int st_num = 0;
	int end_num = 0;
	int sum = 0;

	printf("더하는 시작 수를 입력하시오 : ");
	scanf_s("%d", &st_num);
	printf("마지막 수를 입력하시오 : ");
	scanf_s("%d", &end_num);

시작 수st_num으로 잡고, 마지막 수end_num으로 잡아준다.

sum을 포함한 나머지 두 변수도 초기화를 시켜주기 위해서 초기 값을 0으로 잡아준다.

시작 수마지막 수를 입력받기 위해서 scanf를 사용해준다. 

	while (st_num <= end_num) {
		sum += st_num++;
	}
	printf("%d", sum);

시작 수부터 마지막 수까지 수가 커지면서 마지막 수도 더해져야하기에 등호는 <=를 사용해주고, sumst_num++의 값을 더하고 대입해줘야 하기 때문에 sum+=st_num++로 작성해준다.

여기서 사용한 대입 연산자 +=는 두 항의 값을 더해서 왼쪽 항에 대입해준다.

실행 결과

더하는 시작 수를 입력하시오 : 1
마지막 수를 입력하시오 : 3
6

이번 문제를 풀 때 문제가 정확하게 정의되서 나오지 않아서 혼자 글을 작성하는데 '문제를 어떻게 작성해야하지....??' 이러면서 끙끙댄 문제라서 문제가 조금 깔끔하지 못하고 한국어지만 이해하기 조금 힘드실 수 있으셨을텐데 읽어주셔서 감사합니다....😣💛🤍

728x90