当前位置: 代码迷 >> C语言 >> 为什么这个程序无法运行啊
  详细解决方案

为什么这个程序无法运行啊

热度:150   发布时间:2005-05-19 20:01:00.0
为什么这个程序无法运行啊
求1-3+5-7+....-99+101的值.程序如下:

#include  "stdio.h"
main()
{      int    i,sum;
       i=1;   sum=0;
       while(i<=101)
       {    sum=sum+i;
            i=i+2;
            i=-i;   }
}     大家告诉我那错了啊?
搜索更多相关的解决方案: 运行  

----------------解决方案--------------------------------------------------------
while(i<=101) { sum=sum+i; i=i+2; i=-i; } 这中间有错误 当第一次运行完后i=-3,第二次时,sum=1-3;i=-3+2, 这有错,完后 i=-1;而后 i=1,后面就全错了
----------------解决方案--------------------------------------------------------
求1-3+5-7+....-99+101的值.程序如下:

#include &lt;math.h&gt;
main()
{
int i=1,sum=0;
while(i&lt;=99)
{
sum=sum+i;
if(sum&gt;0) i=-(fabs(i)+2);
else i=fabs(i)+2;
}
printf("%d",sum);
getch();
}
----------------解决方案--------------------------------------------------------

//求1-3+5-7+....-99+101的值.程序如下:

#include <stdio.h> #include <math.h>

int main() { int i; int count; int flag; int sum; int temp; i=1; count=0; flag=0; sum=0; temp=1; while(i<=101) { sum=sum+temp; i=i+2; ++count; if(count%2==1) temp=-i; else temp=i; } printf("The result is : %d\n",sum); return 0; }


----------------解决方案--------------------------------------------------------
#include &lt;math.h&gt;
main(){
int i=1,sum=1,k=1,m=0;
while(fabs(i)&lt;=101)
{
   sum=sum+m;
     i+=2;
     k=-k;
     m=k*i;     
}
printf("%d\n",sum);
getch();
}
----------------解决方案--------------------------------------------------------
三楼错了.应为

求1-3+5-7+....-99+101的值.程序如下:

#include &lt;math.h&gt;
main()
{
int i=1,sum=0;
while(i&lt;=99)
{
sum=sum+i;
if(sum&gt;0) i=-(fabs(i)+2);
else i=fabs(i)+2;
}
sum=sum+101;
printf("%d",sum);
getch();
}

//*这是因为程序只算到了-99,所以得出-50

----------------解决方案--------------------------------------------------------
求1-3+5-7+........-99+101的值,程序应为:
  main()
     { int sign=1,i,sum=0;
       i=1;
       while(i&lt;=101)
       { sum=sum+sign*i;
          i+=2;
          sign=-sign;
       }
       printf("%d",sum);
     }
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "conio.h"
main()
{      int    i,sum,j,k=0;
       i=1;   sum=0;
       while(i&lt;=101)
       { k++;
       j=(k%2==1)?1:-1;
       sum=sum+j*i;
            i+=2;
              }
       printf("%d",sum);
       getch();
}
结果是:51
随云 的程序值得借鉴!
----------------解决方案--------------------------------------------------------
  相关解决方案