精确到小数点后N位

时间:2022-09-21 18:35:51

两个整数相除,将小数点精确到N位(四舍五入):


参考代码:

#include<stdio.h>
#include<math.h>
#define N 7
int main()
{
int i,temp,a,b;
char result[N]={'0'};
a=3,b=7;
temp=a;
//整数部分
for(i=0;i<N;i++)
{
if(temp<b)
{
result[i]='.';
i++;
break;
}
result[i]=temp/b+48;
temp=temp%b;
}
//小数部分
for(;i<N;i++)
{
temp*=10;
result[i]=temp/b+48;
temp=temp%b;
}
if(temp*10/b>=5)
result[i-1]++;//最后一位,四舍五入
for(i=0;i<N;i++)
putchar(result[i]);
putchar('\n');
return 0;

}