inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

문제로 배우는 C언어

두 수의 몫과 나머지

거스름돈

214

tmdal0303

작성한 질문수 14

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원 개수를 구하는 알고리즘에 대해 다시 한번 설명해주시면 감사하겠습니다. 

c

답변 1

0

김태원

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의 값은 변하지 않고 그대로 있는 것입니다.

음료수 자판기 출력이 이상하게 나옵니다

0

142

2

i 값 초기화 질문

0

70

2

recipe for targe 'AA.exe' failed

0

63

1

30과 10의 xor

0

191

1

커리큘럼 문의 드립니다

0

232

1

for문에서 sum 관련 질문

0

179

1

이렇게 풀어도 맞는걸까요?

0

253

2

이렇게 풀어도 맞는 풀이일까요?

0

303

1

20페이지 홀,짝,제로 문제에서 이 코드로 짜도 괜찮을까요?

0

257

1

24. 최솟값 구하기

0

333

1

질문 있습니다.

0

325

1

배열을 전역변수로 설정하는 이유

1

666

1

41. A를 #으로에서 질문 있습니다.

0

291

1

20번 소수 판별하기에서 질문 있습니다.

0

423

1

42번 bus error;;;

0

612

1

정수형 배열에서 배열 크기

0

395

1

38. 자리찾기 커지는 방향으로..

0

303

1

37. 배열의 회전에서 ...

0

280

1

1차원 배열에서

0

270

1

지수연산에서

0

300

1

7.연필 개수 문제

0

381

1

a=(int)a 에서 왜 괄호를 붙이나요 a=int a 는 왜안되나요

0

847

1

섹션 6. 소수

0

323

1

왜 2중for문을 두개 쓴건가요?

0

244

1