一种趋近式方法
说明
- 在程序的计算中,会需要这样的需求。
已知起始值
StartValue
,目标值TargetValue
,增量值DiffValue
,求每一次变化的当前值。
- 结合上一篇博客,可以有如下的计算。
已知a,b,c,求每次一当前值a,其中a为当前值,b为差值,c为目标值。 - 问题:
- 在接近目标值的时候,不能超过或低于目标值。
int main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
while(a!=c)
{
c > a ? ( c - a > b ? (a += b ) : (a = c) ) : ( a - c > b ? ( a -= b ) : (a = c) );
printf("%d\n",a);
}
}
同样适用于无符号型,并且解决了无符号型数据界限的问题。