当前位置: 代码迷 >> C语言 >> [求助]算法程序 看下
  详细解决方案

[求助]算法程序 看下

热度:412   发布时间:2007-11-16 10:26:39.0
[求助]算法程序 看下

算法1+2+3+4+5+…+100.

main()
{
int sign=1,sum=1,max=2,term;
while(max<=100)
{
term=sign*max; /* 这个步骤看不明白*/
sum=sum+term;
max=max+1;
}
printf("%d",sum);
}


抽个空帮我解释下!谢谢`
如果整个程序怎么运算都能解释出来!那就更好!
再次谢谢大家`

搜索更多相关的解决方案: 算法  

----------------解决方案--------------------------------------------------------
term=sign*max; 这一行好像没什么意义啊

这个程序就是求1+2+3+……+100之和。

你是不是想求1-2+3-4+……-100 啊
那要让sign变号啊
sign=-sign;
----------------解决方案--------------------------------------------------------

你的程序和题目不是一个意思。
程序是求100!。
不是求和。


----------------解决方案--------------------------------------------------------

这个没用.

这个主要是为了求1-2+3-4+....+99-100的,符号变的话就要设置一个标识sign,然后再加一句sign*=-1;


----------------解决方案--------------------------------------------------------
LS的``我就是想问下`term=sign*max; 就是临时变量为什么要等于 符号和整数的相乘
如果改成相加~~得到的答案不死5050的`
----------------解决方案--------------------------------------------------------
3L的!我做的就是求和的`
如果如你说的求100!那程序怎么写``指点下`
----------------解决方案--------------------------------------------------------

#include<stdio.h>

int main()
{
int sign=-1,sum=1,max=2,term;
while(max<=100)
{
term=sign*max; /* 这个步骤看不明白*/
sum=sum+term;
max=max+1;
sign*=-1;
}
printf("%d",sum);
return 0;
}

这个程序是求1-2+3-4+5-......+99-100,你看了应该明白了吧,sign只是用来确定符号的,*1表示不变号,*-1表示变号


----------------解决方案--------------------------------------------------------
求1-2+3-4+5-......+99-100用上面那个程序貌似得不到正确的答案
----------------解决方案--------------------------------------------------------
以下是引用C语言的深度在2007-11-16 11:00:50的发言:
求1-2+3-4+5-......+99-100用上面那个程序貌似得不到正确的答案

不会吧,口算就应该知道是-50了


----------------解决方案--------------------------------------------------------
可是你那个程序去运算下你就知道了`
等于5049!汗``那里出错了`
----------------解决方案--------------------------------------------------------
  相关解决方案