一个小问题(新手)
chcyj 2012-07-16 05:02:33 运行环境:winxp vc6.0
代码如下:
#include<stdio.h> /* 这是一个解 limit<1+1/2-1/3+1/4-1/5+....+1/m的程序 (limit是常数) */
#include<stdlib.h>
#include<conio.h>
int main()
{
double sum=1; /* declaration */
int i=1;
int limit=1;
printf("please input the limitation:\n"); /* input */
scanf("%d",&limit);
system("CLS");
printf("please wait for some time");
while(sum-limit<=0)
{
i++;
if (i%2==0)
sum=sum+1.0/i;
else
sum=sum-1.0/i;
}
system("CLS"); /* output */
printf("the answer is %d",i);
getch();
return 0;
}
问题:编译可以通过,但运行时除了输入1时输出正确,大于1的输入输出都为0,why???