分数化小数
题目:
输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b≤10^6,c≤100.输入包含多组数据,结束标记为a=b=c=0;
样例:1 6 4
0.1667
1 #include<stdio.h> 2 int main() 3 { 4 int a,b,c,i=0,x,a1,x1; 5 scanf("%d%d%d",&a,&b,&c);//例输入 10 6 4 6 int s[c];//存放小数点后各位 7 int co=0;//计数已到达小数点后位数 8 x=a/b; 9 printf("%d",x);//打印整数位; 10 a=a%b;//此时a=4 11 while(co!=c+1) 12 { 13 x=10*a/b;co++; 14 if(co==c)//当到达小数点后第4位时计算第5位是否满足四舍五入 15 { 16 a1=10*a%b; 17 x1=10*a1/b;//第5位 18 if(x1>=5) 19 x=x+1; 20 } 21 s[i++]=x; 22 a=10*a%b; 23 } 24 printf(".");//打印小数点 25 for(i=0;i<c;i++) 26 { 27 printf("%d",s[i]); 28 } 29 return 0; 30 }