C 习题2-5 分数化小数
输入正整数a, b, c,输出a/b的小数形式,精确到小数点后c位。a, b <= 10^6,c <= 100。例如a=1, b=6, c=4时应输出0.1667。
1 int a, b, c; 2 scanf("%d %d %d",&a,&b,&c); 3 4 int integer = a/b; 5 int remainderTemp=a%b; 6 int arr[100]; 7 8 for(int i = 0; i< c; i++) 9 { 10 int resultTemp = remainderTemp * 10; 11 arr[i] = resultTemp/b; 12 remainderTemp = resultTemp%b; 13 } 14 printf("%d.",integer); 15 16 for(int i = 0; i < c;i++) 17 { 18 printf("%d",arr[i]); 19 } 20 21 getchar(); 22 getchar(); 23 return 0;
一种错误的方法:
scanf("%d%d%d", &a, &b, &c); printf("%.*f\n", c, (double)a/b);
Hunter药药