一个循环问题

来源:百度知道 编辑:UC知道 时间:2024/07/12 13:11:14
float a=1;
执行一个循环以a=(a+k/a)/2的方式给a赋值;
直至a-a+k/a)/2<0.000001时循环终止
要用什么语句表示最好啊 (c++)

float a=1;
for(;(a-a+k/a)/2<0.000001;a=(a+k/a)/2){...};

float a=1;
while((a-a+k/a)/2<0.000001)a=(a+k/a)/2;

各有各的好处,但个人以为for语句比较好,它提供了比较宽裕的自由发挥的空间,你可以在{...}中写入任何你想输出的东西,当然也可以选择什么也不填for(;(a-a+k/a)/2<0.000001;a=(a+k/a)/2);

相对而言,while语句循环速度比较快——只进行一次简单的逻辑判断,就可以进行循环了。

具体问题具体分析,用哪样,其实主要还是要看LZ的心情。

C++程序中是程序员控制一切,而不是语言控制一切。^_^

float a = 1f;

while( (a-a+k/a)/2) < 0.000001 ){
a=(a+k/a)/2;
}

while((a-(a+k/a)/2)<0.000001)
a = (a+k/a)/2;

for(a=1.0;(a-a+k/a)/2>0.000001 ;a=(a+k/a)/2)