前言:
今天小伙伴们对“c语言小数进一”可能比较关注,看官们都需要学习一些“c语言小数进一”的相关知识。那么小编也在网上汇集了一些有关“c语言小数进一””的相关内容,希望姐妹们能喜欢,朋友们一起来学习一下吧!一、分数化为小数方法:分母是1的分数称为单位分数。对于单位分数1/n,如果它的分母中不含因数2或5,把它化成小数将是一个纯无限循环小数(它的小数部分没有不循环的)。方法为:我们把分子1作为被除数,用1除以n:因为1小于n,所以商0并点上小数点,然后在1 后面补上0,一直除到余数再次为1时结束,得到的商中小数点后面的所有数就是它的一个循环节。例如:1/3=0.33333……,记作:1/3=0.'3';1/7=0.142857142857142857……,记作:1/7=0.'142857',1/9=0.11111……,记作:1/9=0.'1',其中 '……'表示小数的一个循环节。用此方法就可以把1/n (n中不含因数2或5)化成纯无限循环小数。
二、运行结果展示如下:
三、用C语言编程实现:
//求纯循环节(即求分母中不含因数2或5的单位分数的一个循环节):
#include <stdio.h>
int main ()
{ int i,b,y,w;//循环变量i,被除数b,余数y,循环节位数w
int m,n; //范围[m,n],(其中m,n均为奇数,且3<=m<=n)
printf("请输入奇数范围m n(用空格隔开):"); scanf("%d %d",&m,&n);
if(m<=2) m=3; //排除0到2的倒数
if(m%2==0) m++; //使m为奇数
for(i=m;i<=n;i+=2)
{ if(i%5!=0) //排除5的倍数
{ printf("1/%d=0.'",i); //输出循环节:用单引号' '里面表示一个循环节
w=0;y=1; //个数置0,余数置1
b=10; //被除数后补0
while (b!=1) //反复除,到1止
{ y*=10;w++; //余数末尾补0,个数加1
printf("%d",y/i); //输出商
y%=i;b=y; //求余数y后赋给被除数b
}
printf("',其循环节有%d位\n",w);
}
}
}
标签: #c语言小数进一