1.3 求加减代数和
求一组有规律数据作加减符号有规律变化的代数和,要具体根据符号应变化规律,通过设置符号变量,或对每一项通过条件判断选择加减操作,以达到所求代数和的目的。这里给出三个有代表性的加减代数和求解实例。
1.3.1 设置符号变量实现加减相间变化
试求:s=1-1/2+1/3-1/4+...1/n (n从键盘输入)
设置符号变量f,通过语句f=-1*f实现正负交替变化,以达到加减相间求和。
程序代码如下:
#include<stdio.h>
void main()
{
double s=0;
int f=-1,i,n;
char x$;
printf("s=1-1/2+1/3-1/4+...1/n\n Enter n:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
f=-1*f;
s=s+(float)f/i;
}
if(n%2==0)
x$='-';
else x$='+';
printf("s=1-1/2+1/3-1/4+...%c 1/ %d = %.7f\n",x$,n,s);
}
程序运行结果如下:

注意:符号变量f的初值由第一项的符号决定。本例中代数和的第一项为正,因而赋初值f=-1。根据项数n的奇偶性决定输出时该项的"+"、“-”符号x$是必要的。
责任编辑:cyth