华为编程题:求小数循环节问题

**N,D都是整形数据,从键盘上输入N,D后计算N/D的结果。比如1/3=0.3333333…..
则显示:.(3)。在这里3位循环节,同样假设得到3.123123123……
则显示.(123)。规定所有的数在100位之内必出现循环节。**

思路:
例:N=3,D=7;
(1)3<7,3*10/7=4,余数=2
(2)2<7,2*10/7=2,余数=6
(2)6<7,6*10/7=8,余数=4
(2)4<7,4*10/7=5,余数=5
(2)5<7,5*10/7=7,余数=1
(2)1<7,1*10/7=1,余数=3
(2)3<7,3*10/7=4,余数=2
(2)2<7,2*10/7=2,余数=6
(2)6<7,6*10/7=8,余数=4
.
.
.
循环节已经出现428571
由题目可知,规定所有的数在100以内必定出现循环节
所以设定一个数组aa[101]用来存放循环节中的数字。

repetend函数实现了将所求循环节数字放入数组中的功能

int repetend(int a,int b)
{

    if(a<0)
    {
        a*=-1;
    }
    if(b<0)
    {
        b*=-1;
    }
    if(a>=b)
    {
        a=a%b;
    }
    if(a==0)
    {
     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值