728x90
문제
첫 번째 수와 마지막 수를 입력해서 첫 번째 수에서 마지막 수까지 커지면서 값을 더해서 출력하기
만약, 첫 번째 수가 마지막 수보다 수가 크면 둘이 반대로 계산되어서 출력하기 (If문•While문 활용)
실행 결과 예시
더하는 시작 수를 입력하시오 : 3
마지막 수를 입력하시오 : 1
6
소스 코드
#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);
int num=0;
if (st_num > end_num) {
num = st_num;
st_num = end_num;
end_num = 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를 사용해준다.
int num=0;
if (st_num > end_num) {
num = st_num;
st_num = end_num;
end_num = num;
}
만약 시작 수가 마지막 수보다 클 때 둘을 바꿔 줘야 하기에 int num을 잡고 값을 초기화 해줘야 하기에 값은 0으로 설정해준다.
if문을 사용해서 시작 수가 마지막 수보다 클 때 num을 사용해서 num 값을 시작 수 값으로 바꿔주고, 시작 수의 값을 마지막 수 넣어주고, 마지막 수 값을 처음에 바꿔준 num 값으로 바꿔준다.
while (st_num <= end_num) {
sum += st_num++;
}
printf("%d", sum);
시작 수부터 마지막 수까지 수가 커지면서 마지막 수도 더해져야하기에 등호는 <=를 사용해주고, sum에 st_num++의 값을 더하고 대입해줘야 하기 때문에 sum+=st_num++로 작성해준다.
여기서 사용한 대입 연산자 +=는 두 항의 값을 더해서 왼쪽 항에 대입해준다.
실행 결과
더하는 시작 수를 입력하시오 : 5
마지막 수를 입력하시오 : 1
15
728x90
'C > While' 카테고리의 다른 글
[C] While문을 활용해서 1~10까지 숫자들을 더해서 출력하기 (0) | 2022.09.14 |
---|