반응형
숫자의 합 구하기
사용자가 0을 입력할 때까지 계속 숫자를 입력받고, 입력된 모든 숫자의 합을 구해 출력하는 프로그램입니다.
사용 개념:
반복문(while): 조건을 만족하는 동안 계속 반복 수행
누적합: 반복하면서 값을 계속 더해 나감
조건문(if): 특정 조건을 만족할 때 특정 동작을 수행
풀이 방법
- 변수 초기화
- sum이라는 변수를 선언하고 0으로 초기화하고, sum은 입력된 숫자들을 계속 더해 나가면서 누적합을 저장합니다.
- num이라는 변수를 선언해, 사용자가 입력하는 숫자를 저장합니다.
- 숫자 입력받기와 반복 시작
- while 문을 사용해, 사용자가 입력한 숫자가 0이 아닐 때까지 계속해서 숫자를 입력받습니다.
- printf로 안내 메시지를 출력해 사용자가 숫자를 입력하도록 유도하고, scanf를 통해 숫자를 입력받아 num 변수에 저장합니다.
- 누적합 계산
- 입력된 숫자(num)를 sum에 더해 누적합을 구합니다.
- 종료 조건 확인
- 사용자가 0을 입력하면 while 반복문이 종료되고, 최종 합계를 출력합니다.
while 코드
#include <stdio.h>
int main() {
int num; // 사용자가 입력한 숫자를 저장할 변수
int sum = 0; // 입력된 숫자의 합을 저장할 변수, 초기값은 0
// 1. 반복문 시작 - 0이 입력될 때까지 숫자를 계속 입력받습니다.
while (1) {
printf("숫자를 입력하세요 (종료하려면 0 입력): ");
scanf("%d", &num);
// 2. 입력된 숫자가 0이면 반복문을 종료합니다.
if (num == 0) {
break;
}
// 3. 입력된 숫자를 합계에 더합니다.
sum += num;
}
// 4. 최종 합계를 출력합니다.
printf("입력한 숫자의 합: %d\n", sum);
return 0; // 프로그램이 정상 종료됨을 알립니다.
}
코드 설명
변수선언과 초기화
- int num;은 사용자가 입력한 숫자를 저장하기 위한 변수입니다.
- int sum = 0;은 누적합을 저장하기 위한 변수이며, 처음에는 합산할 값이 없으므로 0으로 초기화합니다.
- 숫자 입력받기와 반복문 실행
- while (1)은 무한 반복문을 시작하며, 조건이 항상 참(1)이므로 break 문이 나올 때까지 계속 실행됩니다.
- printf("숫자를 입력하세요 (종료하려면 0 입력): ");는 사용자가 숫자를 입력하도록 안내하는 메시지입니다.
- scanf("%d", &num);은 사용자가 입력한 숫자를 num 변수에 저장합니다.
- 종료 조건 확인
- if (num == 0) 조건문으로, 입력된 숫자가 0인지 확인합니다.
- 만약 0이 입력되면 break;로 while 반복문을 종료합니다.
- 누적합 계산
- sum += num;은 현재 sum 값에 num 값을 더하여 누적합을 구하는 코드입니다.
- 최종 합계 출력
- printf("입력한 숫자의 합: %d\n", sum);는 반복문이 종료된 후, 모든 입력된 숫자의 합을 출력합니다.
- 프로그램 종료
- return 0;은 프로그램이 정상적으로 종료되었음을 시스템에 알립니다.
for문 코드
#include <stdio.h>
int main() {
int num; // 사용자가 입력한 숫자를 저장할 변수
int sum = 0; // 입력된 숫자의 합을 저장할 변수, 초기값은 0
// 1. 무한 반복을 위해 조건 없이 for문을 사용합니다.
for (;;) {
printf("숫자를 입력하세요 (종료하려면 0 입력): ");
scanf("%d", &num);
// 2. 입력된 숫자가 0이면 반복문을 종료합니다.
if (num == 0) {
break;
}
// 3. 입력된 숫자를 합계에 더합니다.
sum += num;
}
// 4. 최종 합계를 출력합니다.
printf("입력한 숫자의 합: %d\n", sum);
return 0; // 프로그램이 정상 종료됨을 알립니다.
}
코드 설명
- 무한 반복문 생성
- for(;;) 구문은 조건 없이 계속 반복하는 무한 루프를 만듭니다.
- for문에 조건을 생략하면 무한히 반복하므로 while (1)과 비슷한 역할을 합니다.
- 숫자 입력받기
- printf와 scanf를 사용해 사용자로부터 숫자를 입력받아 num 변수에 저장합니다.
- 종료 조건 확인
- if (num == 0)으로 입력된 숫자가 0인지 확인합니다.
- 숫자가 0이면 break 문으로 반복문을 종료합니다.
- 누적합 계산
- 입력된 숫자 num을 sum에 더해 누적합니다.
- 최종 합계 출력
- 반복문이 종료된 후, 모든 입력된 숫자의 합을 printf로 출력합니다.
for문에서 ; ; 사용하여 무한 반복을 만들고 brake를 넣어서 특정 숫자일 때 종료하게 만들었습니다~
반응형
'프로그래밍 > C' 카테고리의 다른 글
[C언어-응용문제] 파일에 텍스트 저장 및 읽기 (1) | 2024.11.10 |
---|---|
[C언어-응용문제] 학생 점수 관리 프로그램 (구조체 문제) (1) | 2024.11.09 |
[C언어-응용문제] 반복문을 사용한 구구단 출력 (3) | 2024.11.07 |
[C언어-응용문제] 간단한 계산기 프로그램 만들기 (5) | 2024.11.06 |
[C언어] 13. 메모리 관리 동적 메모리 할당 (malloc, calloc, free) (2) | 2024.11.01 |