描述
输入3个正整数 �,�,�a,b,c,输出 �/�a/b 的小数形式,精确到小数点后 �c 位(注意最后一位的四舍五入问题)。其中 2≤�,�≤100000002≤a,b≤10000000,2≤�≤10002≤c≤1000。(注意本题小数保留范围)。
输入
第1行是一个整数 �n,表示随后有 �n 组数据。每组数据占一行,输入正整数 �,�,�a,b,c,用空格隔开。
输出
对每组数据,计算并输出 �/�a/b 的小数形式,保留小数点后 �c 位,并换行,
样例
输入
3
2 3 20
2 6 10
6 7 3
输出
0.66666666666666666667
0.3333333333
0.857
#include<stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
{
int a,b,c;
int xiao[1002]={0};
scanf("%d %d %d",&a,&b,&c);
int j;
int zheng;
zheng=a/b;
a=a%b;
for(j=0;j<=c;j++)
{
a*=10;
xiao[j]=a/b;
a%=b;
}
if(xiao[c]>=5){
xiao[c-1]=xiao[c-1]+1;
}
for(j=c-1;j>0;j--){//遇到9进位的问题
if(xiao[j]==10){
xiao[j]=0;
xiao[j-1]=xiao[j-1]+1;
}else break;
}
if(xiao[0]==10){//进位到整数
zheng=zheng+1;
xiao[0]=0;
}else;
printf("%d.",zheng);//输出
for(j=0;j<c;j++){
printf("%d",xiao[j]);
}
printf("\n");
}
return 0;
}