注册 登录
编程论坛 新人交流区

c中奇数累加不可以这样吗?

hugh陈 发布于 2007-10-14 09:20, 1231 次点击
main()
{int sum,i,m;
sum=0,i=0;m=1;
while(i<=49)
{sum=sum+i;
m=2*i+1;
i++;
}
print("%d\n",sum);
}
奇数一定要用"i=1;i=i+2"
来表示吗?
19 回复
#2
给冰加温2007-10-14 10:51
#include <stdio.h>
main()
{int sum,i,m;
sum=0;i=0;m=1;
while(i<=49)
{
m=2*i+1;
sum=sum+m;
i++;
}
printf("%d\n",sum);
}

如果你非要你这样写,这样就可以了,你看看有什么不同?
#3
llp_k62007-10-14 12:13

#4
hhei2007-10-14 13:01
#5
hcs2007-10-14 13:54

你的"m=m*2+1"
在循环在没有一点作用

#6
nuciewth2007-10-14 14:22
直接用i  做加2操作就行了.当然循环上界要修改了.
#7
liu8511092007-10-16 12:35

其实都差不多

#8
koychow2007-10-16 20:44
都没有理解呀!
多看书,很基础的东西.
#9
冷云逸2007-10-16 21:07
m=2*i+1;没用的呀?
#10
playchao2007-10-16 21:09
有简单的不用 干嘛要弄个复杂的啊 ??
#11
hjlwlyhjl2007-10-16 21:18

也可以这样表示:1) i=1;i+=2;
2) i=1;i++;i++;
不过都是一样的效果,你定义的m根本就没用!不要做无用的功!

#12
koman2007-10-16 21:21
以下是引用hugh陈在2007-10-14 9:20:01的发言:
main()
{int sum,i,m;
sum=0,i=0;m=1;
while(i<=49)
{sum=sum+i;
m=2*i+1;//你这里的m的值在这段代码里做什么用的??没参与到sum值的计算
i++;
}
print("%d\n",sum);
}
奇数一定要用"i=1;i=i+2"
来表示吗?

#13
sunsheldon2007-10-16 22:15
#14
sunsheldon2007-10-16 22:15
顶顶
#15
sunsheldon2007-10-16 22:16
顶顶顶
#16
sunsheldon2007-10-16 22:16
顶顶顶顶
#17
sunsheldon2007-10-16 22:16
顶顶顶顶顶
#18
sunsheldon2007-10-16 22:16
顶顶顶顶顶顶
#19
yxg4302007-10-16 22:30
二楼答案很标准,楼主还要加油啊,呵呵。
#20
Cy_Chance2007-10-17 12:57
其实我也今天看书的时候突然也想到这个问题,

用其他办法肯定可以达到奇数相加
但是复杂的就是你要计算 究竟要加多少个奇数,

如果本身他就要求你用 n个奇数 那到好说
关键 通常他只问: 1到n的所有奇数和!


这样想,那么 只用for循环变量控制 小于n就可以了,不用去计算!

另外你这个程序本身是不对的!
1