C++/정올
정올 ) 반복제어문1-형성평가2 #126번
동르링
2023. 8. 2. 15:12

<해답>
#include <stdio.h>
int main(void)
{
int x;
int odd=0,even=0;
while(1)
{
scanf("%d ",&x);
if (x==0)
break;
else if (x%2==0)
even++;
else if (x%2!=0)
odd++;
}
printf("odd : %d\n",odd);
printf("even : %d\n",even);
return 0;
}
odd와 even의 갯수가 각각 출력되어야 하기 때문에, odd와 even을 0으로 초기화해놓고 for문에서 ++을 이용하여 하나씩 늘려준다. 여기서 odd는 홀수이므로 2로 나누었을때 나머지가 0이 아니어야 하기 때문에 (x%2!=0)을 사용하였고, even은 짝수이므로 나머지가 0이므로 (x%2==0)으로 if문을 사용하여 판단하도록 하였다.
단순 대입이 아니라 '같다'라는 것을 인식시켜야 하므로 '==' 사용하였고, 같지않을경우엔 '!=' 을 사용하였다.