거스름돈 구하기 프로그램..뭐가 문제에요?
앵겨쪼
입력받은 금액들을 50000원, 10000원, 5000원, 1000원, 500원, 100원, 50원, 10원 단위로 나누기.배열안에 100,000이상의 수를 0을 입력받을때 까지 넣고, 0을 입력받으면
50000원, 10000원, 5000원, 1000원, 500원, 100원, 50원, 10원단위로 나누기.질문 내용 :
#includestdio.h
void main()
{
int arr[10][8]={0};
int arr_1[8]={50000,10000,5000,1000,500,100,50,10};
int i,j,won;
printf(거스름돈 계산.\n\n);
for(i=0;i10;i++)
{
printf(금액을 입력 : );
scanf(%d, &won);
if(won==0) break;
arr[i][0]=won;
}
for(i=1;i10;i++)
{
for(j=0;j8;j++)
{
j=i/arr_1[i];
won-=(j*arr_1[i]);
arr[i][j]=won;
}
}
for(i=0;i10;i++)
{
for(j=0;j8;j++)
if(arr[i][j]!=0)
printf(%3d,arr[i][j]);
else
printf( );
printf(\n);
}
}
제가 짠 소스구요. 이상하게 0을 입력받으면 출력이 안되고 멈춰버리네요 --;;
밑에가 예시로 나온 문제구요.. 도와주세요 tt
-------------------------------------------------------------
2차원 배열 a[][9]를 만든 후,
scanf로1행에 100,000원 이상의 값을입력 받는다.(0을 입력받을때 까지)
0을 입력받으면 각0행에 입력받은 값을 넣어주고,
나머지 배열에 50000원,10000원,5000원,1000원,500원,100원,50원,10원 단위로 나눠주고, 총합도 구해준다.
ex)
printf(50000원, 10000원, 5000원, 1000원, 500원, 100원, 50원, 10원);
// arr[][9]배열모양
115300, 2, 1, 1, 0, 0, 3, 0, 0
147500, 2, 4, 1, 2, 1, 0, 1, 0
131250, 2, 3, 0, 1, 0, 2, 1, 0
173700, 3, 2,0, 3, 1 ,2 ,1 ,1
567750, 9, 10, 2, 6, 2, 7, 3, 4 //총합
-
강아지
네 그래서 k변수를 하나 만들어줘서 아래처럼 만들엇는데..오류가 뜨네요..(에러말구)
k=i/arr_1[i];
won-=(k*arr_1[i]);
어떻게 만들어야지 잘 되나요 TT -
해샘찬
j=i/arr_1[i]; -- 이게 문제가 있습니다.
for문을 돌리실때위엣 j++을하셔도
위의 공식때문에 j값이 계속 같은 값으로 바뀌기때문에
for문이 빠져나가지 못하고 무한 루프에 돌게 됩니다.