求C语言高手指点下下面程序那里出错

题目是“
用for语句编写程序,计算1-3+5-7+…-99+101的值。“
#include<stdio.h>
void main()
{
int i=1,sum=1,flag=1;
for(i<=101;i=(i+2)*flag;flag=-flag)
sum=sum+i;
printf("1-3+5...+99-101=%d",sum);
return 0;
}

#include <stdio.h>
void main()//括号改成英文的
{
int i=1,sum=0,flag=1;//sum的初值应该是0
for(;i<=101;flag=-flag,i=i+2)//i<=101是循环继续的条件,应放在中间
sum=sum+i*flag;
printf("1-3+5...-99+101=%d",sum);//按照规律这里应该是-99+101
}

你的这个题目加减的规律,你再仔细看一下,运行结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-05
include<stdio.h>
void main()
{
int i=1,sum=1,flag=1;
for(i<=101;i=(i+2)*flag;flag=-flag)//你好好检查一下你的for语句
sum=sum+i;
printf("1-3+5...+99-101=%d",sum);
return 0;
}
第2个回答  2013-11-05
int i,t,sum=0,flag=1;
for(i=1;i<=101;i=i+2){
t=i;
sum=sum+t*flag;
flag=-flag;
}
printf("1-3+5...+99-101=%d",sum);

你这个for(i<=101;i=(i+2)*flag;flag=-flag)是无限循环,算一万年也算不完。
第3个回答  2013-11-05
for循环里面有错误的,还有就是这个是有符号的整数,
for改成,
sum = 0 ;
for(flag = 1; i < = 101; i = (i +2)* flag)
{
sum = sum + 1;
flag = - flag;
}
相似回答
大家正在搜