1-2+3-4+5-6+...-100用c语言的中while怎么写代码?

如题所述

#include <stdio.h>
#include <math.h>
main()
{
    int i = 1; sum = 0;
    while (i <= 100)
    {
        sum += i * pow(-1, i - 1);
        i++;
    }
    printf("%d", sum);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-04-12
int sum = 0,i=1;
while(i<=100)
{
    sum+=i%2==1?i:-1;
    i++;
}

追问

这是什么意思?

追答

对不起,有一点打错了,应该是sum += i%2==1?i:-i;

i%2是i除以2的余数,i为奇数时余数为1,i为偶数时余数为0,i为奇数时加上i,为偶数时加上-i

第2个回答  2016-04-12
#include<stdio.h>
void main()
{ int i,fh,s;
s=0; fh=1; i=1;
while ( i<=100 )
{ s+=fh*i; //每项都是前几项的和加上当前项i乘以符号
fh*=(-1); //符号如果是1变成-1,如是-1则变成+1
i++; //每次循环当前项累加1
}
printf("s=%d\n",s);
}追问

fh*=(-1)是什么意思?

追答

符号初始值是1,就是+1,用这个乘以当前项就决定了在求累加和是向上加,下一项计算前将符号乘以-1,就成了-1,用这个乘以下一项就决定了在求累加和是向上减,
再乘以-1,符号又变成正的了,正好对应多项式隔一个项的负号规律

相似回答