尖角笔刷:turboc:求sum=1-3+5-7+9-11……

来源:百度文库 编辑:高校问答 时间:2024/05/09 08:51:06

#include <stdio.h>
int main()
{
long i,lIndex=0,lSum=0,lNumber;
printf("Please enter the item-number:");
scanf("%ld",&lNumber);
for(i=1;i<lNumber*2;i=i+2)
{
if(lIndex==0)
{
lSum=lSum+i;
lIndex=1;
}
else
{
lSum=lSum-i;
lIndex=0;
}
}
printf("sum=%ld",lSum);
return 0;
}

main()
{
int i, f;
long sum;
scanf("MAX num: %d",&f);
for(i=1;i<=f;i+=2)
{
if((i+1)%4==0){
sum-=i;}

else
{
sum+=i;
}
printf("%d",sum);
}
}

void main()
{
int N,SUM=0;
printf("请输入N:");
scanf("%d",&N);
for (int i=0;2*i+1<=N;i++)
{
if (i%2==0)
SUM+=2*i+1;
else
SUM-=2*i+1;
printf("sum=%d\n",SUM);
}

}

计算机没法求这样的值, 溢出

当n超大的时候,相信就很复杂了,面试中可能会遇到的
其实不需要用for的。
给定n后
检查n是奇数还是偶数,
是偶数的话结果就是-n
是奇数的话就是(1-n)+2n+1=n+2
给出代码:(n是数的个数)
#include <stdio.h>
main ()
{
int N,SUM=0;
printf("请输入N:");
scanf("%d",&N);
if(N%2)printf("%d", -N)
else printf("%d", N+2);
}

#include <stdio.h>

int main()
{
int n;
printf("enter your number: ");
scanf("%d", &n);
if (n % 2 == 0)
{
printf("sum = %d", -n);
}
else
{
printf("sum = %d", n);
}
}