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

还有一个程序题目也请高手帮忙看看吧>>>
已知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最小。
温馨提示:答案为网友推荐,仅供参考
相似回答