1.这个题可以说是数据结构题“高精度计算pi”的简化版,只有除法部分。
2.思想:竖式除法。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int main()
{
int a,b,c;
int p[111];
int i;
while(1)
{
memset(p,0,sizeof(p));//把b清空成0
cin >> a >> b >> c;
if(a == 0&&b == 0&&c == 0)
break;
p[0] = a/b;//整数部分
printf("%d.",p[0]);
a = a%b*10;
for(i = 1;i < c;i++)//小数部分,实施竖式除法。
{
p[i] = a/b;
printf("%d",p[i]);
a = (a%b)*10;
}
p[c] = a/b;
a = (a%b)*10;
p[c+1] = a/b;
if(p[c+1] >= 5)
p[c] = p[c]+1;
printf("%d\n",p[c]);
}
return 0;
}