作业帮 > 综合 > 作业

由于三个正整数a,b和n(最多60000),你被要求计算A / B和打印出的第n个小数点后的数字.

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/12 15:10:40
由于三个正整数a,b和n(最多60000),你被要求计算A / B和打印出的第n个小数点后的数字.
如输入8,13,5
8/13 = 0.615384615384615384615384 ...
对于8/13,5个在小数点后的数字是8.
所以输出8
用c语言.
由于三个正整数a,b和n(最多60000),你被要求计算A / B和打印出的第n个小数点后的数字.
/*思路
*8/13 = 0.615384615384615384615384...
*要取第5位,只要将数乘以10000,取商的个位数,即可
*8*100000/13=61538.4615...
*/
#include int main()
{
int a,b;
int n;
int i;
printf("a,b,n:\n");
scanf("%d%d%d",&a,&b,&n);
/*整数部分不要*/
a = a % b;
for(i = 0; i < n - 1; i++)
{
/*被除数借10,看是否大于除数,大则除,不大则继续借*/
a *= 10;
if(a > b)
a = a % b;
}
/*最后一次只要取商的个位数就可了*/
a = a * 10 / b % 10;
printf("%d\n",a);
return 0;
}