-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
거스름돈
20.02.28 02:03 작성 조회수 124
0
int a,b,c,d;
printf("지폐를 투입하세요:");
scanf("%d",&a);
printf("음료수의 가격을 입력하세요:");
scanf("%d",&b);
c=a-b;
printf("거스름돈은 %d원 입니다\n",c);
c=c/500;
printf("%d\n",c);
d=c-(c/500)%100;
printf("%d",d);
return 0;
2가지의 질문이 있습니다 !
1) c를 거스름돈으로 설정했는데
c=c/500;시 500원 개수 센 변수를 왜 똑같은 c로 지정해주는건가요?
500원 개수를 d 라고 정의했더니 거스름돈이 정확하게 나오지는 않았지만, 거스름돈에서 500으로 나눠야 500의 개수가 나오는건 맞지만 500원 개수에 대해서 왜 다른 변수를 지정해주지 않는지 궁금합니다 !
2) 100원의 개수를 구하는 과정이 잘 되지 않습니다. 100원 개수를 구하는 알고리즘에 대해 다시 한번 설명해주시면 감사하겠습니다.
답변을 작성해보세요.
0
김태원
지식공유자2020.02.29
printf("지폐를 투입하세요:");
scanf("%d",&a); //a는 5000원입력
printf("음료수의 가격을 입력하세요:");
scanf("%d",&b); //b는 2300원 입력
c=a-b; //c가 2700원입니다.
printf("거스름돈은 %d원 입니다\n",c);
d=c/500; //d는 2700원을 500원으로 나눈 몫 5입니다.
printf("%d\n",d);
e=c%500; //e는 2700원을 500원으로 나눈 나머지 200원입니다.
f=e/100; //f는 200원을 100원으로 나눈 몫 2입니다.
printf("%d", f);
return 0;
강의 영상은 위의 과정을 c라는 변수 하나로 구현한 것입니다.
그리고 영상코드에서 printf("%d\n", c/500); 코드는 c=c/500을 한게 아닙니다. 그냥 c/500값을 출력하고 c의 값은 변하지 않고 그대로 있는 것입니다.
답변 1