急 请高手!c语言程序要求四舍五入保留十位小数怎么编?

来源:百度知道 编辑:UC知道 时间:2024/05/21 09:30:17
还有一个程序题目也请高手帮忙看看吧>>>
已知A<B,A和B都是正整数,A8B=2698,求A+B的最小值?
是A*B=2698
可以用2a*b=(a+b)*(a+b)时,a+b取得最小值?

#include "stdio.h"

#define ROUND(x) ((x)>0 ? (int)((x)+0.5) : (int)((x)-0.5))

void main()
{
float x = 100.6;
printf("%d",ROUND(x));
}
声明这个宏就可以了

后面那个题目应该是A*B=2698吧?呵呵

void main()
{
int a, b;
for (a = 1; a < 52; a++)
{
if (2698 % a == 0)
{
b = 2698 / a;
}
}
printf ("b = %d\n", b);
}

这里没用到判断A+B最小,而是取了最后一个b值。因为a是递增的,而abs(a-b)越小a+b就越小(均值定理),所以最后一个b肯定满足a+b最小。