结构化编程:确定迭代循环控制for

高斯求和算法实现
本文通过具体的C#代码示例介绍了如何利用for循环来模拟高斯求和的方法,展示了两种不同的计算方式,并强调了在循环中不应改变计数器的重要性。

很多时候的重复执行,是我们知道需要执行多少次。比如那道高斯经典的从1加到100的题目,用代码模拟高斯的同学的计算模型为如下

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<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+100
result+=i;
}
System.Console.WriteLine(result);
}

for 语句重复执行括起来的语句,如下所述:

首先,计算变量 i 的初始值。

然后,只要 i 的值小于或等于 100,条件计算结果就为 true。此时,将执行result += i; 语句并重新计算 i。

当 i 大于 100 时,条件变成 false 并且控制传递到循环外部。

所以用代码模拟高斯这个天才的计算模型为如下

ContractedBlock.gifExpandedBlockStart.gifCode
<!--<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循环语句。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值