본문 바로가기
C 언어

c 언어[009] for 반복문 for(int i=0;i<=10;i++){}; 1~10까지 합 구하는 프로그램. 두수를 입력하여 두수까지의(두수포함) 합 구하는 프로그램

by Smart Factory in 2020 2020. 10. 7.
728x90
반응형

안녕하세요. 스마트팩토리입니다. 

c 언어[009] for 반복문 for(int i=0;i<=10;i++){}; 1~10까지 합 구하는 프로그램. 두수를 입력하여 두수까지의(두수포함) 합 구하는 프로그램을 알아보겠습니다. 

1. for 반복문

for  반복문은 무한 루프를 하기 위한 가장 기본이 아닌가 생각합니다. 동일한 작업을 반복하기 위해서 초기값과 조건식, 증감식을 설정하고 그 범위를 일정한 규칙에 의해서 반복 하게 합니다. 이는 연산작업을 할때 상당히 유용합니다. 

변수 선언에 대한 것은 익히 알고 있으니 바로 설명에 들어가도록 하겠습니다. 

i=1 부터 시작하여 10과 같을때 까지 즉 조건식을 만족할때 까지  { 내용 } 을 반복연산합니다. 

sum+=i는 sum =sum+i 를 의미하여 처음 sum =0이 때문에 

i=1 일때 sum=sum(=0) +i(=1)이어서 sum=1 이 됩니다. 이후 증감식으로 가서 i++  -->i 를 1씩 증가시킵니다. 

그런데 여기서 조건식을 참을 만족할때 { }안의 내용을 실행합니다. 

결과적으로 

i=1 일때 sum=1

i=2 일때 sum=3

.. 반복

i=10 일때 sum= 55

i=11일때 조건식이 거짓이 되어 for 반복문을 빠져나옵니다. 

 

그럼 for문을 나오면 i=11  , sum은 i=10까지의 합까지 더해진 값입니다. 

 

그것을 출력하면 sum=55가 됩니다. 


#include<stdio.h>
void main() {
int sum=0;


for (int i = 1; i <=10; i++)  --> for 반복문 입니다. 

 { sum += i; }  -->  내용

printf("1부터 10까지의 합은 %d\n", sum); --> 1부터 10까지의 합을 출력합니다. 

}


2) 두수를 입력 받아 입력수 부터 그다음 입력한 수까지의 합을 구하는 프로그램

 

처음 입력하는 숫자가 두번째 입력하는 수보도 작아야 합니다. 즉 오름차순 입력을 해야 함. 

입력하는 수의 크기 차이 없이 하려면 if 조건문을 사용애야 함. 이는 다음 시간에 하도록 하겠습니다. 


#include<stdio.h>
void main() {
int a,b, sum=0;
puts(" 두 수를 입력해 주세요 "); ---> 두수를 입력해 주세요를 출력
scanf_s("%d", &a); ---> 첫 숫자
scanf_s("%d", &b); ---> 두번째 숫자
for (int i = a; i <=b; i++)   --> 처음 입력한 숫를 시초값으로 설정, 조건식은 두번째 입력한 수까지  증감식은 역시 1씩 증가
{sum += i;}
printf("%d부터 %d까지의 합은 %d\n",a,b,sum);
}


 

1부터 100까지  두 수를 입력하기 때문에 쉽게 구해집니다. 

 

i 값과 sum 값을 출력해 보았습니다. 오름차순으로 더해짐을 알 수 있습니다. 

 


3. 중간에 증감식을 감소하는 것으로 한 경우 

 

 


#include<stdio.h>
void main() {
int a,b, sum=0;
puts(" 두 수를 입력해 주세요 ");


scanf_s("%d", &a);
scanf_s("%d", &b);


for (int i = b; i >=a; i--)   --> 증감식을 작아지는 경우로 하기 위해서 초기값을 두번째 입력한 값으로 설정하고 조건을 처음 숫자보다 클때를 설정했습니다. 그럼 감소하기 때문에 결과적으로 내림차순으로 더해지게 됩니다. 
{sum += i;}
printf("%d부터 %d까지의 합은 %d\n",a,b,sum);

}


내림 차순으로 더해짐을 알 수 있습니다. 

 

 

728x90
반응형

댓글