C语言编写程序,求1-3+5-7+.....-99+101的值 用while和for两种方法编写 计算机

C语言编写程序,求1-3+5-7+.....-99+101的值
用while和for两种方法编写 计算机二级 大一水平。谢谢!

其实差不多的

用for的

#include <stdio.h>
int main()
{
    int i, sign=1, sum=0;
    for(i = 1; i <=101 ; i +=2)
    {
        sum+=i*sign;
        sign=-sign;
    }
    printf("%d\n", sum);
}

用while的

#include <stdio.h>
int main()
{
    int i=1, sign=1, sum=0;
    while(i<=101)
    {
        sum+=i*sign;
        sign=-sign;
        i+=2;
    }
    printf("%d\n", sum);
}来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-15
//for循环
#include<stdio.h>
int main()
{
    int sum = 0;
    int flag = 1;
    for(int i = 1;i<=101 ;i = i+2)
    {
        if(flag % 2 == 0)
        {
            //偶数项
            sum -= i;
        }
        else
        {
            /奇数项
            sum += i;
        }
        flag++;
     }
     return 0;
}

while 循环,其实是一样的。

#include<stdio.h>
int main()
{
    int sum = 0;
    int flag = 1;
    int i = 1;
    while(i<=101)
    {
        if(flag % 2 == 0)
        {
            //偶数项
            sum -= i;
        }
        else
        {
            /奇数项
            sum += i;
        }
        flag++;
       i +=2; 
     }
     return 0;
}

第2个回答  2016-11-15
#incude<stdio.h>
int main()
{int s=1,i;
for(i=3;i<102;i+=4)
s+=-i+(i+2);
printf("%d\n",s);
return 0;
}

#incude<stdio.h>
int main()
{int s=0,i=1;
while(i<102)
{if(i%4==1)
s+=i;
else
s-=i;
i+=2;
}
printf("%d\n",s);

return 0;
}
第3个回答  2016-11-15
没有多少难度啊

循环变量递加2、隔一个做一次正负转变 ~
第4个回答  2020-12-14

相似回答