题目描述
a/b计算商固然简单方便,可如果商是无限小数或很长位数小数的情况,你该如何求指定位数的商呢?编写函数void div(int m,int n,int digits), 求两个整数m和n的商,结果保留digits位小数。
#include <stdio.h>
void div(int m,int n,int digits); /* 函数声明 */
int main()
{
int m,n,digits;
scanf("%d%d%d",&m,&n,&digits);
div(m,n,digits);
return 0;
}
主程序已给出,请完成div函数并提交
输入
整数m和n,小数位数dights
输出
商
输入输出样例
样例输入 #
1 21 30
样例输出 #1
0.047619047619047619047619047619
解答:
void div(int m, int n, int digits)
{
int i, x, yu;
x = m / n;
printf("%d", x);
if (digits == 0)
return;
printf(".");
yu = m % n;
for (i = 1; i <= digits; i++)
{
yu = yu*10;
x = yu / n;
printf("%d", x);
yu = yu%n;
}
}