求解:输出1/2013的结果,要求精确到小数后30位解决方法

求解:输出1/2013的结果,要求精确到小数后30位
我是最近开始学C的, 老师要我们精确到小数后30位要用什么类型的变量呢?!! 
------解决思路----------------------
晕了,没有验证,刚才的代码有错误,改好了。

#include<stdio.h>

int main()
{
int a=1;
int b=2013;
int result[100];
int i;
int iNum;
for(i=0; i<100; i++)
{
if(a==0)
{
break;
}
if(a<b)
{
a*=10;
if(a<b)
{
result[i]=0;
}
else
{
i--;
}
continue;
}
else
{
result[i]=a/b;
a=a%b;
}
}
iNum = i;

printf("0.");
for(i=0; i<iNum; i++)
{
printf("%d", result[i]);
}
printf("\n%d 位\n", i);
return 0;
}