크림빵문제
차오름
#include stdio.h
void ncase(void);
int main(void)
{
printf(현재 소유 금액 :3500\n);
ncase();
return 0;
}
void ncase(void)
{
int a,b=1,c=1;
for(a=1;c10;a++)
{
if(500*a+700*b+400*c==3500)
printf(크림빵(%d)개 새우깡(%d)개 콜라(%d)개\n,a,b,c);
for(;a==5;b++){
if(500*a+700*b+400*c==3500)
printf(크림빵(%d)개 새우깡(%d)개 콜라(%d)개\n,a,b,c);
a=1;
} for(;b==5;c++){
if(500*a+700*b+400*c==3500)
printf(크림빵(%d)개 새우깡(%d)개 콜라(%d)개\n,a,b,c);
a=1,b=1;
}
}
}
실행의 예에서는 a=1 b=2 c=4 , a=2 b=3 c=1 , a=4 b=1 c=2 가 경우의수인데 나는 왜 에 두개만 나오는지 모르겟음.. 도와주세요
-
마호
아 .. 다중반복을 잘 이해 못햇네요;; ㄳ합니다
-
김슬픔
다중 루프의 순환방법을 아시면 쉽게 이해하실수 있을것입니다.
가장안쪽의 c가 전부 순회하면
중간루프인 b가 1증가하고 다시 c는 1로초기화됨,
b가 전부 순회하면 가장 바깥쪽의 a가 1증가하고 b와c는 초기화 되어서
a가 전부 순회할때까지 반복됩니다.
말로 표현해보면 다음과 같습니다.
크림빵과 새우깡을1개씩 사고 남은 돈으로 콜라를 전부 사봅니다.
콜라를 전부 반품하고
새우깡을 하나더사고 콜라를 전부 사봅니다.
다시 콜라를 전부 반품하고
새우깡