표준 입력으로 금액이 입력됩니다. 1회당 요금은 1,200원이고, 교통카드를 사용할 때마다 잔액을 각 줄에 출력하는 프로그램을 만드세요(scanf 함수 호출 전에 문자열을 출력하면 안 됩니다). 단, 최초 금액은 출력하지 않아야 합니다. 그리고 잔액은 음수가 될 수 없으며 잔액이 부족하면 출력을 끝냅니다.
표준 입력
10000
표준 출력
8800
7600
6400
5200
4000
2800
1600
400
정답
#include <stdio.h>
int main()
{
int charge;
scanf("%d", &charge);
while (charge >= 1200)
{
charge -= 1200;
printf("%d\n", charge);
}
return 0;
}
풀이
이 문제의 핵심은 출력 결과에서 최초 금액은 출력하지 않아야 하고, 잔액이 음수가 되면 안 되고 부족하면 출력을 끝내야 하는 것이다. 먼저, 최초 금액이 출력되지 않기 위해서 루프 본체 안에 1200원이 감소하는 코드를 먼저 쓰고 그다음에 printf 함수를 써야 한다. 그리고, 잔액이 음수가 되지 않고 부족하면 출력을 끝내기 위해서 요금이 1200원보다 크면 반복문을 실행하고 작으면 반복문을 끝내도록 조건식을
charge >=1200원으로 조건식을 설정해야 한다.
'C' 카테고리의 다른 글
[C] C언어 코딩 도장 30.7 심사문제: 두 수 사이의 숫자 중 7로 끝나지 않는 숫자 출력하기 (0) | 2022.04.27 |
---|---|
[C] C언어 코딩 도장 29.10 심사문제: 숫자의 합 구하기 (0) | 2022.04.27 |
[C] C언어 코딩 도장 27.12 심사문제: 알파벳 순서로 출력하기 (0) | 2022.04.27 |
[C] C언어 코딩 도장 26.8 심사문제: 음료수 자판기 만들기 (0) | 2022.04.27 |
[C] C언어 코딩 도장 25.7 심사문제: 괄호 사용하기 (0) | 2022.04.27 |