由于三个正整数a,b和n(最多60000),你被要求计算A / B和打印出的第n个小数点后的数字.如输入8,13,58/13 = 0.615384615384615384615384 ...对于8/13,5个在小数点后的数字是8.所以输出8用c语言.
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 00:47:34
由于三个正整数a,b和n(最多60000),你被要求计算A / B和打印出的第n个小数点后的数字.如输入8,13,58/13 = 0.615384615384615384615384 ...对于8/13,5个在小数点后的数字是8.所以输出8用c语言.
由于三个正整数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,58/13 = 0.615384615384615384615384 ...对于8/13,5个在小数点后的数字是8.所以输出8用c语言.
/*思路
*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;
}