double 형의 제한을 넘어서 100자리 수까지 출력해준다.
배열을 하나 두고 거기에 한자리씩 저장하는 방식이다.
배열 하나에 10자리 정도 저장하면 좀 더 효율적이겠다.
저장 안할거면 그냥 나누자마자 계속해서 출력만 해도 되겠다.
#include
int main() {
int i;
int j;
int x;
int y;
int p;
int r[100];
int tmp;
printf("input numerator: ");
scanf("%d",&x);
printf("input denominator: ");
scanf("%d",&y);
printf("down to(0-99): ");
scanf("%d",&p);
if (x > y) {
r[0] = x / y; x = x % y;
} else r[0] = 0; for (i=1;i<=p;i++) {
r[i] = x * 10 / y;x = (x * 10) % y;
}
printf("%d.",r[0]);
for (i=1;i<=p;i++)
printf("%d", r[i]);
return 0;
}
* 피시키드님에 의해서 게시물 이동되었습니다 (2024-04-26 18:49)