是计算1-3+5-7…+(2n-1)这个式子的第n项后再停止吗?如果是的,可以在while循环里面用一个变量来判断,计算第n项后再停止计算即可。
修改如下:
#include <stdio.h>
int main(void){
int a=1,n=1,sum=0,flag=1;
printf("请输入n的值\n");
scanf("%d",&n);
int i=1;
while(i<=n){ // 计算到第n项后停止
a=(i*2-1)*flag; // 每一项的值为 (项数*2-1 ) 乘以符号位 flag的值
sum+=a; // 累积每一项的值
//printf("i=%d,a=%d,sum=%d\n",i,a,sum);
flag=-flag; // 符号位变换
i++; // 计算下一项
}
printf("%d",sum);
return 0;
}
n++,默认为true,死循环