C语言求 1-3+5-7+...-99+101的值

#include<stdio.h>
main()
{ int i,j=1,sum=0;
for(i=1;i<102;i++)
{
if(i%2!=0&&j%2!=0)
{
sum=sum+i;
j++;
}
if(i%2!=0&&j%2==0)
{
sum=sum-i;
j++;
}

}
printf("%d",sum);
getchar();
}
哪里错了??怎么显示是0?

#include<stdio.h>

void main()
{
    int i,sum=0;

    int j = 1;

    // è¿™é‡Œæœ€å¤šå¾ªçŽ¯51
    for (i=1; (2*i -1) < 102; i++)
    {
        if(i%2!=0)
        {
            sum=sum + (2*i -1);

            printf("+%d", (2*i -1));
        }
        else
        {
            sum=sum-(2*i -1);

            printf("-%d", (2*i -1));
        } 

    }
    printf("= \n%d",sum);
    getchar();
}

运行结果如下:

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-06-15
肯定是0了,因为如果满足
if(i%2!=0&&j%2!=0)
{
sum=sum+i;
j++;
}
这个循环要求的话,
肯定也满足
if(i%2!=0&&j%2==0)
{
sum=sum-i;
j++;
}
这个循环了,一个加i,一个减i,就互相抵销了
为什么说满足if(i%2!=0&&j%2!=0)条件的肯定也满足if(i%2!=0&&j%2==0)条件呢,因为你在满足if(i%2!=0&&j%2!=0)条件中写了j++,在j%2!=0的情况下,j++之后,肯定就满足j%2==0等于0 了。解决办法就是加else语句了
第2个回答  2014-06-15
#include <stdio.h>
int main()
{
int i,k=1,sum;

for(sum=0,i=1;i<101;i+=2,k++)
sum+=(k%2==1?1:-1)*(2*i-1);
printf("1-3+5-7+...+101=%d\n",sum);
return 0;
}
满意请采纳。
第3个回答  2014-06-15
你的代码无法改哟……
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){
int i,n;
for(n=0,i=1;i<102;i+=2,n++);
printf("The result is %d\n",n&1 ? n : -n);
}本回答被网友采纳
第4个回答  2018-07-18
#include<stdio.h>
#include<math.h>
void main()
{
int n,s=1,sum=0;
for(n=1;n<=101;n+=2)
{sum=sum+n*s;
s=-s;}
printf("sum=%d\n",sum);

}

C语言求 1-3+5-7+...-99+101的值
include<stdio.h>void main(){ int i,sum=0; int j = 1; \/\/ 这里最多循环51 for (i=1; (2*i -1) < 102; i++) { if(i%2!=0) { sum=sum + (2*i -1); printf("+%d", (2*i -1)); } else { sum=sum-(2*i -1); ...

C语言编写程序,求1-3+5-7+...-99+101的值
结论:C语言编程中,有多种方法可以求解1-3+5-7+...-99+101的值,下面分别介绍三种不同的实现方式。方法一,通过两个for循环分别累加正负奇数:在C语言中,一个可能的实现是通过两个for循环来分别累加1到101中的奇数和3到99中的奇数,然后相减得到结果。以下是代码片段:c#includemain(){inti,j...

C语言编写程序,求1-3+5-7+...-99+101的值
1-3+5-7+...-99+101 =(1-3)+(5-7)+...(97-99)+101 include<stdio.h>int main(){int s=101-100\/4*2; printf("%d\\n",s); return 0;}或:#include<stdio.h>int main(){int i,s=101; for(i=3;i<100;i+=4) s-=2; printf("%d\\n",s); return 0;} ...

C语言编写程序,求1-3+5-7+...-99+101的值
void main(){ int i = 1, sum1 = 1, j = 3, sum2 = 3, sum;while (i <= 101){ i = i + 4;sum1 += i;} while (j < 101){ j = j + 4;sum2 += j;} sum2 *= -1;sum = sum1 + sum2;printf("%d", sum);} 用for如下 include<stdio.h> void main(){ in...

几道简单的C语言编程题,请高手帮忙
1、求1-3+5-7+……-99+101的值。include <stdio.h> void main(){ int i,element,sum=0;for(i=1;i<=101;i+=2){ element=-i;sum=sum+element;sum=-sum;} printf("%d\\n",sum);} 2、编写程序,判断一个数是否是素数。6n+1,6n-1法代码 include<stdio.h> int main(){ int ...

怎么用C语言计算1-3+5-7+...-99+101的值
程序如下:include<stdio.h> void main(){ int i,sum=0,flag=1; \/\/初始flag的值为正整数1 for(i=1;i<=101;i+=2){ sum+=i*flag; \/\/sum统计总和 flag=-flag; \/\/将flag置为它的相反数 } printf("sum=%d",sum);} 如果对回答满意,请记得采纳为答案!谢谢 ...

C语言,下面程序的功能是计算1-3+5-7+…..-99+101的值,请填空。
:t=t*i [2]: t=-t\/i;\/\/通过 [2] 让 t 交替以 1 或 -1 出现。除了 1 之外,都是负的了,如 -3、-5、-7。include<stdio.h> void main(){ baiint i,t=1,s=0;for(i=1;i<=101;i+=2){ duif((i+1)%4==0)t=-t;s=s+t;t=i+2;} printf("%d\\n",s);} ...

编写程序:求1-3+5-7+···-99+101值
这也是一个和electron1943兄弟不同的C语言的改进一点后的算法,内容如下:include <stdio.h> int main(){ int i,sum=0;for(i=1;i<=101;i+=4) sum+=i; \/\/先算sum=1+5+9+……+101 for(i=3;i<=99;i+=4) sum-=i; \/\/再算sum-(3+7+11+……+99)printf("sum=%d\\n",sum)...

求C语言程序。1-3+5-7+9-...-99+101的值
include<stdio.h>int main(){ int sum = 0; int symbol = 1; for (int i=1;i<=101;i+=2) { sum += i*symbol; symbol *= -1; }printf("%d",sum);}

C语言求用while语句计算1-3+5-7+...-99+101的值
include<stdio.h> void main(){ int i,j,m,n,sum=0;m=0;n=0;i=1;j=3;while(i<102){ sum=sum+i-j;i+=4;if(j >= 99){ j =0;} else j+=4;} printf("%d\\n",sum);}

相似回答