分数化小数

进入研一以来,折腾了一整个学期,既没好好学习,也没有别的收获,前途规划更是白纸一张。在科大还有3个多月的时间,索性就逼迫自己下,把之前欠下的东西都补上,也不枉来这一年。

最近开始重新学习算法,主要有《算法竞赛入门经典》、《算法竞赛训练指南》、《算法导论》三本书,注重图论部分和coding能力,但时间上未必够用,就吃透前两本书为主吧。下面是《算法竞赛入门经典》第二章的某练习题,以作开始。

/*Exercise: 2-9
 *Target: 分数化小数,输出a/b小数形式,精确到小数点c位,a,b<=10^6,c<=100
 *Author: warron
 *Date: 10Mar15
 *Input:
 *Output:
 *Analysis:模拟除法的实现过程,a/b与a%b很方便完成除式相减的过程
 */
#include <stdio.h>
#include <math.h>

int main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("%d.",a/b);
    a = a%b*10;
    int j = 1,x;
    for(j = 1; j <= c; j++)
    {
        x = a/b;
        if(j == c)
            printf("%d\n",a/b%10>5?x+1:x);
        else
            printf("%d",x);
        a = a%b*10;
    }
    return 0;
}


你可能感兴趣的:(分数化小数)