1. 목적
- 특정 범위 사이에 계산을 반복하는 반복문을 이해한다.
2. 문제 (점수 : 15 점)
- 키보드로 두 개의 정수를 입력받아 짝수/홀수의 개수와 합 그리고 전체의 합을 출력한다.
- 시작 끝 범위가 반대로 입력 되어도 같은 결과가 나오게 하라.
- for 문을 사용하되 do-while / while 문은 쓰지 않는다.
- 출력 화면
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 구문