사용자로부터 정수를 입력받아서
1부터 N까지 합은 For문으로
1부터 N까지 홀수 합은 While문
1부터 N까지 짝수 합은 do while문으로 푸는 문제입니다.
do while문으로 짝수값을 구하기가 힘드네요ㅠ 도와주세요.
짝수는 0에서 +2씩 커지면짝수일테고
홀수는 1에서 +2씩 커지면 홀수임을 이용하여 작성해봤는데요
초짜라 변수도 많고 프로그램도 많이 지저분한데 좀더 간편하게 짤수 있을까요?
#includestdio.h
int main(void)
{
int i, N, cnt; // cnt는 홀수 짝수값을 구할때 루프횟수를 저장하는 변수
int All = 0; // N 까지의 합을 저장하는 변수
int Odd = 0; // 1부터 N까지의 홀수 합을 저장하는 변수
int Even = 0; // 1부터 N까지의 짝수 합을 저장하는 변수
int D; // 짝수, 홀수의 공차값 2를 계속 누적하는 변수
printf(정수를 입력하세요 : );
scanf(%d , &N);
// N 까지의 합 (for 문 이용)
for(i=1; i=N; i++)
{
All += i;
}
printf(1부터 N까지의 합 = %d\n, All);
// 1부터 N까지의 홀수의 합 (while 문 이용)
if(N % 2 == 0)
cnt = N/2;
else
cnt = (N/2)+1;
i=1, D=1;
while(i=cnt)
{
Odd += D;
D++;
D++;
i++;
}
printf(1부터 N까지의 홀수 합 = %d\n, Odd);
// 1부터 N까지의 짝수의 합 (do while 문 이용)
if(N % 2 == 0)
cnt = N/2;
else
cnt = (N/2)+1;
i=1, D=0;
do
{
Even += D;
D++;
D++;
i++;
}
while(i=cnt);
printf(1부터 N까지의 짝수 합 = %d\n, Even);
return 0;
}