-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
질문 있습니다.
22.02.15 13:42 작성 조회수 133
0
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { int a, b, c; printf("Input seed money : "); scanf("%d", &a); printf("Input target money : "); scanf("%d", &b); printf("Input annual interest (%%) : "); scanf("%d", &c); int year = 0; while (a < b) { a = a + a * c / 100; year++; printf("%d년 : %d원\n", year, a); } }
제가 작성했던 코드는 이러한데요
중간 식에서 a = a + a * c / 100; 을
a= a*(1+(c/100));로 작성하니까 숫자가 더해지지가 않던데 왜그런가요?ㅠㅠ
곱셈 나눗셈 연산자 모두 잘 썼고 괄호로 순서만 정해줬는데 a는 계속 변하지 않네요.. 왜그런가요?!
답변을 작성해보세요.
1
강민철
2022.02.15
안녕하세요 :)
(c / 100)를 묶어서 (c / 100)를 가장 먼저 계산하면 무조건 0이 나옵니다.
(/는 몫 만 계산한다는 사실에 유의해주세요.)
그렇기에 a= a*(1+(c/100)); 는 a = a 가 되어 버리는 것입니다.
감사합니다.
답변 1