版权声明:本文为博主原创文章,未经博主允许不得转载。
-
#include <stdio.h>
-
-
int remaind[101] = {0}; /*存放除法的余数*/
-
int quotient[101] = {0}; /*依次存放商的每一位*/
-
-
int main()
-
{
-
int m, n, i, j;
-
-
printf("Please input a fraction(m/n)(<0<m<n<=100):");
-
scanf("%d/%d", &m, &n);
-
printf("%d/%d it's accuracy value is:0.", m, n);
-
-
for (i = 1; i <= 100; i++) /*i为商的位数*/
-
{
-
remaind[m] = i;
-
m *= 10; /*余数扩大10倍*/
-
quotient[i] = m/n; /*求商*/
-
m = m % n; /*求余数*/
-
if (0 == m) /*余数为0表示为有限小数*/
-
{
-
for (j = 1; j <= i; j++)
-
{
-
printf("%d", quotient[j]);
-
}
-
printf("\n");
-
break;
-
}
-
-
if (remaind[m] != 0)
-
{
-
for (j = 1; j <= i; j++)
-
{
-
printf ("%d", quotient[j]);
-
}
-
printf("\n\tand it is a infinite cyclic fraction from %d\n",
-
remaind[m]);
-
printf("\tdigit to %d digit after decimal point.\n", i);
-
-
break;
-
}
-
}
-
-
return 0;
-
}