s=1-2+3-4+···+99-100
虽然口算也能算出来,
但既然有粉丝问起,
那我就谈一谈吧。
~
①数学算法(口算)
s=50×(-1)=-50
~
②C语言(拆分为正负两个数列)
#include<studio.h>
main()
{
int i,s;
s=0;
for(i=1,i<=99,i+=2) s+=i;
for(i=2,i<=100,i+=2) s-=i;
/*拆分为正负两组数列,公差都为2,利用s=s-i交替输出负号*/
printf("s=%d\n",s);
}
~
③C语言(设立符号位)
#include<studio.h>
main()
{
int i,s,a,b;
s=0;
a=-1;
for(i=1,i<=100,i+=1)
{a=-a;b=a*i;s+=b;};
/*a为符号位,交替输出-1*/
printf("s=%d\n",s);
}