能帮到就行。
#include<iostream>
#include<cstring>
using namespace std;
int c[1001],a[1001],num;
void fun(int lena,int n) // 123456789 / 123 1/123 12/123 123/123 4/123
{
int x=0;//余数
for(int i=0;i<=lena+n;i++)//除法操作
{
c[i]=(a[i]+x*10)/num; //
x=(a[i]+x*10)%num; //0.699(10) 6
} // 99/999=100.00
if(c[lena+n]>=5) c[lena+n-1]++;
for(int i=lena+n-1;i>0;i--)
{
if(c[i]>9){
c[i-1]++;
c[i]%=10;
}
}
int i=0;
while(i<lena)
{
if(c[i]!=0)break;
i++;
}
if(i==lena)cout<<"0";
while(i<lena) //整数部分
{
cout<<c[i];
i++;
}
if(n!=0)cout<<".";//小数部分
for(;i<lena+n;i++)
{
cout<<c[i];
}
}
int main()
{
char aa[1001]; //123456789
int n;
cin>>aa>>num>>n;
int lena=strlen(aa);
for(int i=0;i<lena;i++)
{
a[i]=aa[i]-48;
}
fun(lena,n);
return 0;
}
作者为初中生,有问题见谅,请多关照。