很多时候的重复执行,是我们知道需要执行多少次。比如那道高斯经典的从1加到100的题目,用代码模拟高斯的同学的计算模型为如下
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->staticvoidMain(string[]args)
{
intresult=0;
for(inti=1;i<=100;i++)
{
//1+2+3+4+5+
+97+98+99+100result+=i;
}
System.Console.WriteLine(result);
}
for 语句重复执行括起来的语句,如下所述:
首先,计算变量 i 的初始值。
然后,只要 i 的值小于或等于 100,条件计算结果就为 true。此时,将执行result += i; 语句并重新计算 i。
当 i 大于 100 时,条件变成 false 并且控制传递到循环外部。
所以用代码模拟高斯这个天才的计算模型为如下
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->classProgram
{
staticvoidMain(string[]args)
{
intresult=0;
for(inti=1;i<=100;i++)
{
result+=i;
}
System.Console.WriteLine("计算了100次,结果是:{0}",result);
result=0;
for(inti=1;i<=50;i++)
{
result+=i+(100-i+1);//1+100=101,2+99=101,3+98=101
}
System.Console.WriteLine("计算了50次,结果是:{0}",result);
}
}
初学者注意:
无论因为什么原因,都不要试图在for循环体内改变计数器的值。for的含义是重复的作一些事情,当你确定是需要重复的作的时候,才使用for循环语句。
高斯求和算法实现
本文通过具体的C#代码示例介绍了如何利用for循环来模拟高斯求和的方法,展示了两种不同的计算方式,并强调了在循环中不应改变计数器的重要性。

被折叠的 条评论
为什么被折叠?



