/*num1/num2 保留bit 位小数 , 四舍五入*/ #include<bits/stdc++.h> using namespace std; int OP[100]; int main() { int num1,num2,bit; cin>>num1>>num2; cin>>bit; int temp=0;///判断负数的个数 if(num1<0) temp++; if(num2<0) temp++; if(temp==1) cout<<'-';///负数 if(num1<0) num1=-num1; if(num2<0) num2=-num2; int N=num1/num2;///整数 int F=0; for(int i=0 ; i<=bit ; i++) { num1=num1%num2*10; OP[i]=num1/num2; } ///四舍五入 if(OP[bit]>=5) { OP[bit-1]++; for(int i=bit-1 ; i>=0 ; i--) { if(OP[i]>=10) { if(i==0) { F=1;break; } OP[i-1]++; OP[i]-=10; } } } cout<<N+F<<'.'; for(int i=0 ; i<bit ; i++) cout<<OP[i]; puts(""); }