Programming Language/C Language

[C] C Study mini project_1주차: 반복문

gapsoo 2023. 7. 11. 00:00

 

 

 


[1] 문제

 

문제 설명

사용자로부터 정수 x,y를 입력받아서 x에서 y까지의 합을 구하는 프로그램을 작성하라.

 

입출력 예시

 

 

 


[2] 정답

 

코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void)
{
    int i, x, y, sum;
 
    printf("시작 정수: ");
    scanf("%d"&x);
    printf("종료 정수: ");
    scanf("%d"&y);
 
    sum = 0;
 
    for (i = x; i < y+1 ; i++) {
        sum += i;
    }
 
    printf("%d 에서 %d 까지의 합 : %d", x, y, sum );
 
    return 0;
 
}
cs

 

콘솔 창

 

 
 
 

[3] 해석

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void)
{
    int i, x, y, sum;
 
    printf("시작 정수: ");  // 사용자에게 시작 정수를 입력받기 위한 안내 메시지 출력
    scanf("%d"&x);       // 사용자로부터 시작 정수를 입력받음
 
    printf("종료 정수: ");  // 사용자에게 종료 정수를 입력받기 위한 안내 메시지 출력
    scanf("%d"&y);       // 사용자로부터 종료 정수를 입력받음
 
    sum = 0;  // 합계를 초기화
 
    for (i = x; i <= y; i++) {
        sum += i;  // 시작 정수부터 종료 정수까지의 정수를 sum에 더함
    }
 
    printf("%d 에서 %d 까지의 합 : %d", x, y, sum);  // 시작 정수부터 종료 정수까지의 합계 출력
 
    return 0;
}
cs

 

이 코드는 다음과 같은 동작을 수행한다:

 

  1. _CRT_SECURE_NO_WARNINGS는 컴파일러에게 특정 경고를 무시하도록 지시하는 지시자이다.
  2. stdio.h 헤더 파일은 표준 입력 및 출력 함수를 사용하기 위해 포함된다.
  3. main 함수는 프로그램의 진입점이다.
  4. 변수 i, x, y, sum을 선언한다. 각각은 반복문의 제어 변수와 시작 정수, 종료 정수, 합계를 저장하는 변수이다.
  5. printf 함수를 사용하여 "시작 정수: " 메시지를 출력하고, scanf 함수를 사용하여 사용자로부터 시작 정수를 입력받는다.
  6. printf 함수를 사용하여 "종료 정수: " 메시지를 출력하고, scanf 함수를 사용하여 사용자로부터 종료 정수를 입력받는다.
  7. 합계를 나타내는 변수 sum을 0으로 초기화한다.
  8. for 반복문을 사용하여 시작 정수부터 종료 정수까지의 범위에서 각 정수를 더하여 합계를 계산한다.
  9. printf 함수를 사용하여 "시작 정수에서 종료 정수까지의 합: " 메시지와 계산된 합계를 출력한다.
  10. return 0;을 통해 프로그램의 종료를 나타낸다.

 

이 코드는 사용자로부터 시작 정수와 종료 정수를 입력받아 해당 범위 내의 모든 정수의 합계를 계산하여 출력하는 프로그램이다.

 

 

 

[4] 풀이 및 오답

 

✔️ sum = x; 로 초기화 해주었다. → sum = 0; 으로 초기화하는 것으로 고쳐주었다.

 

✔️ for (i = x, i < y+1 , i++;) 라고 코드를 썼었다. (문법이 기억 안 나서 말도 안 되게 적었었다...) → for (i = x; i < y+1 ; i++) 로 고쳐주었다.

 

✔️ sum = sum + 1; 이라고 썼었다. → sum = sum + i; 로 고쳐주었다. 아마 수업 시간에 배웠던 내용을 제대로 이해하지 않고 이미지로 기억해서 i 대신 1을 쓴 것 같다 

 

✔️ return 0; 을 언제 써야하고 언제 쓰지 않아도 되는 건지 아직 잘 모르겠다. → 함수 단원을 다룰 때 다시 공부하도록 하겠다.

 

 

 


[5] 추가 학습

 

반복문을 공부한 내용을 티스토리에 정리해서 올린 뒤 링크를 첨부하겠다.

 

 

 


[6] 느낀 점

 

✔️ 알고리즘은 어렵다... 수업 시간에 교수님 설명을 듣고 이해했다고 생각하고 넘어갔었는데, 막상 입출력 예시만 보고서 나 혼자 코드를 짜려니까 힘들었다.