问题是: 用“while”语句,求出“1-3+5-7+9-11+...-99+101”的值。
#include
int main(int argc, char argv[])
{
int number=1;
int vaule=0;
int sign=1;
while(number<101)
{
vaule+=number;
number+=2;
sign=-sign;
number=sign;
}
printf("%d",vaule);
return 0;
}
但结果出来却是:死循环!
到底是哪里错了?
希望得到大家指点!
#include
int main(int arg,char *argv)
{
int l_Num = 1;
int l_Total = l_Num;
while(l_Num < 101)
{
l_Num += 2;
l_Total -= l_Num;
l_Num += 2;
l_Total += l_Num;
}
printf("total is %d\n",l_Total);
return 0;
}
你这里number=sign;number一直等于1或-1,一直满足条件
int sign=1;这个有什么用么
number =sign;
number值就变了
int main(int argc, char argv[])
{
int number=1;
int num_temp = 1;
int vaule=0;
int sign = -1;
while(number <= 101)
{
vaule+=num_temp;
num_temp = num_temp * sign ;
num_temp = (num_temp > 0)?(num_temp + 2):(num_temp - 2);
number = abs(num_temp );
}
printf("%d",vaule);
return 0;
}