double类型是有精度限制的,输出任意精度,需要自行计算,步骤如下:
- 输出a/b的整数部分,然后小数点,并记录余数x
- 输出10x/b的整数部分,并更新x=10x%b
- 不断重复步骤2,知道满足精度要求
另外一个技巧,一下的printf语句,可以在参数中修改格式字符串。m和n将替换格式字符中的*
printf("%*.*f", m, n, number);
#include "stdafx.h"
int a[1000]
int _tmain(int argc, _TCHAR* argv[])
{
int a = 1;
int b = 13;
int c = 100;
int i;
int y = a%b;
printf("%d.", a / b);
for (i = 0; i<c; i++) {
y *= 10;
printf("%d", y / b);
y = y%b;
}
printf("\n");
return 0;
}