进入研一以来,折腾了一整个学期,既没好好学习,也没有别的收获,前途规划更是白纸一张。在科大还有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;
}