请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入 (规定实型数为正数)。

大佬大佬看看我,编程题我不会,救救我,求求了,编程有错误

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>

double fun(double n)
{
	double d = n * 100.0;
	
	int d2 = ((unsigned long )(d * 10)) % 10;
	if ( d2 <= 4)
		d = (unsigned long )d / 100.0;
	else
		d = ((unsigned long)d + 1)/100.0;
	return d;
}



int main()
{
	printf("%f \n", fun(1.1115));  
	printf("%f \n", fun(1.1165));
	printf("%.2f \n", fun(1.1115));  //.2f可以控制小数点后的位数
	printf("%.2f \n", fun(1.1165));
	getchar();
	getchar();
	return 0;
}
#include <stdio.h>
double fun(double a)
{
            double ans = (int)((1000.0 * a) + 0.5) / 1000.0;
            return ans;
}
int main()
{
   printf("%f \n", fun(1.4145));
   return 0;
}