注册 登录
编程论坛 C++教室

c++的问题

yfbn 发布于 2007-09-09 13:28, 748 次点击

原来没曾学过C语言,学C++一个多月了,现在回过头仔细想想竟然对这些问题很模糊,也有很多的疑问,在课堂上也 学不到什么东西(因为老师一节课要讲一章的内容)所以很多的要靠自学拉,前几次有问题我发上来很快就有人帮我解答,而且分析的很详细,在这里我要感谢你们,现在我来到着看到这个论坛能给我们这些人提供学习交流的平台真的太好了!这里高手还是蛮多的,加上很想把C学好这样的念头,以后把这里当作我的教室拉,各位就是我的老师了.谢谢你们的帮助!


图中是求1~5累加求和
我有几个问题想问问老师们
1)我对于n,b这两个变量的定义我还比较模糊,,为什么不能把B赋值为1
2)b=b+n:的意思是第五个数与前四个数的总和吗
3)编译运行后为什么会运行n=6(n是小于等于5的呀 )的情况?
只有本站会员才能查看附件,请 登录

5 回复
#2
PcrazyC2007-09-09 13:40
这个题目里B就代表总和.最初当然赋0

B=B+N就是在当前的总和的基础之上再加上当前的数(递增的)

因为只有当N==5时是最后一次,循环里面有一个N++,就是将N加1,这个时候N就为6了,输出当然是6,此时循环终止

[此贴子已经被作者于2007-9-9 13:48:32编辑过]

#3
冰的热度2007-09-09 13:42
1,当然不能把 b 赋成 1 了,求的是 1+2+3+4+5,答案是 15,

如果把 b 赋成 1,就成了 1+1+2+3+4+5 了,答案是 16 了,
连这你都看不出来吗?

2,是用循环一步一步求的,并不是一下子就用第五个数和前四个数相加.

3,前面的步骤就不说了,就从 n=5 后说起,

n=5 之后,输出 b=10,n=5,紧接着判断 while(n<=5).

因为n=5,所以并不跳出循环,而是再执行一遍循环,

而循环里有 n++;执行后 n 不就等于 6 了吗

然后再次判断while(n<=5)由于 n=6>5 了,所以这时才跳出循环

明白了吗
#4
PcrazyC2007-09-09 13:44

哦,看错了,我没看到你是要求1-5的累加,抱歉

#5
yfbn2007-10-11 16:41
以下是引用冰的热度在2007-9-9 13:40:24的发言:

谢谢,你的回答很详尽,我明白了!

[此贴子已经被作者于2007-10-11 16:44:55编辑过]

#6
TenY2007-10-11 19:38

1.如果把n初始化为1的话,你的累加就成为 2+2+3+4+5 了。
2.b=b+n 的意思就是 这一次与前面n次累加的结果求和。
3.n=5时,还要执行一次n++,所以就是6了

1