c++언어 초보 질문 있습니다.
조회수 601회
나누기 부분에서 10과 4처럼 나누어 떨어지지 않는 숫자들을 입력해도 소수점이 제대로 나오지 않습니다. 어떻게 해야 소수점이 나오게 할 수 있을까요 ㅠㅠ
int a,b,c;
printf("계산할 숫자를 입력해주세요.\n");
scanf("%d %d",&a,&b);
printf("더하기=1 빼기=2 곱하기=3 나누기=4\n");
scanf("%d",&c);
if (c==1)
printf("%.3f",(a+b)*1.0);
else if (c==2)
printf("%.3f",(a-b)*1.0);
else if (c==3)
printf("%.3f",(a*b)*1.0);
else
printf("%.3f",(a/b)*1.0);
return 0;
아래는 실행 화면입니다
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
두 정수간의 연산 결과는 정수가 됩니다.
(double)a / b
처럼 a의 값을 실수로 변환하여 b로 나누어주면 실수/정수 이므로 결과는 실수가 됩니다.아래 코드 참고하세요.
#include <stdio.h> int main() { int a, b, c; printf("계산할 숫자를 입력해주세요.\n"); scanf("%d %d", &a, &b); printf("더하기=1 빼기=2 곱하기=3 나누기=4\n"); scanf("%d", &c); if (c == 1) printf("%.3f", (double)a + b); else if (c == 2) printf("%.3f", (double)a - b); else if (c == 3) printf("%.3f", (double)a * b); else printf("%.3f", (double)a / b); return 0; }
- 결과
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력