求指教~一个循环的问题~有错误但自己看不出来~
我刚学到循环这一节这个题目要求输入一个数,求前“指定数”项的和(1.0+1.0/2.0+1.0/3.0+1.0/4.0+...)
(1.0-1.0/2.0+1.0/3.0-1.0/4.0+...)
也就是这两个,能得到运行界面,但输入一个数字后得不到输出结果,很苦恼~
#include<stdio.h>
int main(void)
{
int n,i,k;
double sum1,sum2,x;
printf("输入你想求得前n项和:\n");
scanf("%d",&n);
sum1=0;
sum2=0;
k=-1;
while(scanf("%d",&n)==1)
{
for(i=1,x=1.0;i<=n;i++,x++)
{
k=(-1)*k;
sum1+=1.0/x;
sum2+=(k*1.0)/x;
}
printf("(1.0+1.0/2.0+1.0/3.0+1.0/4.0+...)的前%d项和=%lf.\n",n,sum1);
printf("(1.0-1.0/2.0+1.0/3.0-1.0/4.0+...)的前%d项和=%lf.\n",n,sum2);
printf("Enter next value:\n");
scanf("%d",&n);
}
printf("Done!\n");
return 0;
}