1. 목적
  - 특정 범위 사이에 계산을 반복하는 반복문을 이해한다.

2. 문제 (점수 : 15 점)
  - 키보드로 두 개의 정수를 입력받아 짝수/홀수의 개수와 합 그리고 전체의 합을 출력한다.
  - 시작 끝 범위가 반대로 입력 되어도 같은 결과가 나오게 하라.
  - for 문을 사용하되 do-while / while 문은 쓰지 않는다.
  - 출력 화면

두 정수를 입력하세요 : 890 123
123~890 사이의 짝수 개수 : 384, 합 : 194688
123~890 사이의 홀수 개수 : 384, 합 : 194304
123~890 까지의 총 합 : 388992
Press any key to continue

3. 이해
  - for 제어/반복문을 적당하게 쓸수 있는가?
  - 짝수와 홀수를 따로 계산할수 있는가?

4. 코드

#include <stdio.h>

int main()
{
 int from, to, i, total, even, odd, swap;
 long even_total, odd_total;
 from = to = i = total = even = odd = even_total = odd_total = 0;

 printf("두 정수를 입력하세요 : ");
 scanf("%d %d", &from, &to);

 if (from > to)
 {
  swap = from;
  from = to;
  to = swap;

 }

 for(i = from; i <= to; i++)
 {
  if(i % 2  == 0)
  {
   even++;
   even_total += i;
 
  }
  else
  {
   odd++;
   odd_total += i;

  }

 }

 printf("%d~%d 사이의 짝수 개수 : %d, 합 : %d\n", from, to, even, even_total);
 printf("%d~%d 사이의 홀수 개수 : %d, 합 : %d\n", from, to, odd, odd_total);
 printf("%d~%d 까지의 총 합 : %d\n", from, to, odd_total+even_total);

 return 0;
}

5. 해설
  - for 문은 시작 부터 일정 범위씩 증가하면서 범위내로 실행하는 구문입니다.
  - 짝수와 홀수 따로 변수를 만들어서 계산 합니다.

6. 참고
  - http://tc.pukyung.co.kr/CBasic/c-12.html : for 구문

Posted by 카켈