1107

今天我们接触了自从学习C#以后的第一个难点:for循环语句,循环语句不像if else 或者 switch一样一目了然,而且for语句里面涉及了算法的问题,所以更加难以理解与掌握,一开始老师给我们举了高斯计算从1加到100的问题,最后这道题用FOR循环句子写出来如下:

int sum = 0;
for (int i = 1; i <= 100; i+=2) {
sum += i;
}
Console.WriteLine(sum);

虽然只有这么简单两句,但是最困难就是发现其中的算法,这段语句表示,如果i小于等于100的情况下,就一次递加1,sum每次都与I相加再赋值回来,就等于1+2+3+4+...+100(因为i的最大值只能到100),一开始这段代码我也没有看明白,不过经过老师的解释以及后面练习题的训练明白了许多。

下面是两道简单的数学题,通过FOR语句计算出答案:

第一题,有一只猴子和一堆桃,猴子每天吃这一堆桃子的一半,然后扔掉一个,如此往复,到了第七天,只剩一个桃了,问一共有几个桃?

这道题考验的就是算法,从最后只剩一个桃往回退,发现计算的规律是:

设桃子的数量为X,每天猴子桃子的数量是这样递加的:

第七天:X=1;

第六天:X=(X+1)*2

第五天:X=(第六天的X值+1)*2

根据这个规律,用FOR代码就是这样表现的:

int i = 1, z=1 ;//i为天数,z为桃子数
for (i = 1; i < 7; i++) //一共吃了七天
{
z = (z + 1) * 2;
}
Console.WriteLine(z);
}

这样循环到第七天,桃子的数量就算出来了,最后打印的是190。

然后是第二题:

A的年龄比B大两岁,B的年龄比C大两岁,C的年龄比D大两岁,D的年龄比E大两岁,E今年14岁,问A多少岁?

这道题如果口算很简单,如果用循环语句的话,难点在于“大两岁”的这个循环走了多少次,从题目看,一共是循环了四次,算法如下:

int x=14;//E的年龄
for (int i = 1; i <= 4; i++) {
x += 2;
}
Console.WriteLine(x);

最后得出A的年龄是22岁。

FOR语句属于循环语句中的一个难点,尤其对于我这种数学很差的人,的确很费脑筋,所以更要多做一些题来巩固一下。如果有哪位朋友有好的资源的还请分享!

转载于:https://www.cnblogs.com/Dawn-z/archive/2012/11/07/2759332.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值