竖式计算

圆周率——(竖式除法,保留小数位数)

前提是你 提交于 2020-03-01 22:40:20
文章目录 1 题目 2 解析 2.1 题意 2.2 思路 3 参考代码 1 题目 计算机大牛们都在拼算法,计算圆周率小数点后面的第n位。这涉及到许多除法,现在给你一个被除数和除数,请你计算小数点后n位的值。 输入描述: 输入包含多组数据。每组数据包含三个正整数:被除数a和除数b(1≤a<b≤100),以及精度n(1≤n≤1000)。 输出描述: 对应每组数据,输出a/b的结果,小数后面保留n位(不到n位的补零)。 输入例子: 1 2 5 2 3 3 输出例子: 0.50000 0.666 2 解析 2.1 题意 见题目 2.2 思路 模拟竖式除法或使用高精度除法。 3 参考代码 竖式除法 # include <stdio.h> int main ( ) { int n , a , b ; while ( ~ scanf ( "%d%d%d" , & a , & b , & n ) ) { printf ( "%d." , a / b ) ; //计算整数部分 while ( n -- ) { //计算小数部分 a = ( a - a / b * b ) * 10 ; //重新计算被除数 printf ( "%d" , a / b ) ; } printf ( "\n" ) ; } //上面的极简形式 // for(;~scanf("%d%d%d",&a,&b,&n);printf(