用c计算1-3+5-7到101的值

来源:百度知道 编辑:UC知道 时间:2024/05/06 01:45:54
#include"stdio.h"
void main(){
int i=0;
int fh=-1;
int sum=0;
for(i=1;i<=101;i+=2)
{
fh=fh*-1;
sum=sum+i*fh;
}
printf("%d",sum);
}
对么,为什么用计算器算结果为-50而我的程序结果是+51呢??

正确的如下~~你自己对比一下咯~~看有什么不同

#include<stdio.h>
main()
{ int a, b=1,c=-1; //定义三个变量
for(a=3;a<=101;a=a+2) //让变量a做为增长级,每次加2,这样刚好是我们要要的奇数。
{b=b+a*c; //这个是求出每个数
c=-c;} //这句是关键,求出符号
printf("%d",b);
getch();
}
//上面这段代码只是给我们列出了一段数字,这个数字其实就是运算到当前a的值,比如说当a=7时,b为-4,也就是1-3+5-7=-4,结果是符合的,那么该程序输出的最后一个值也就是你要的那个结果。

下面有个没注释的

#include<stdio.h>
main()
{
int i,j,k=0,p=0,temp;
for(i=1;i<=101;i=i+4)
k+=i;
for(j=3;j<100;j=j+4)
p+=j;
temp=k-p;
printf("%d",temp);
}

看起来没有错啊,怀疑这个可能有问题:
fh=fh*-1;
改成带括号的试试:
fh = fh * ( -1 );

你用计算器算错了呗,正确结果就是51