关于C语言代码问题

来源:百度知道 编辑:UC知道 时间:2024/06/29 23:22:32
#include<stdio.h>
void main()
{
int p,t,sum,n,i;
i=1;p=1;t=1;sum=0;
printf("请输入一个数");
scanf("%d",&n);
while(i<=n)
{sum=sum+t;
t=1.0/i*p;
i++;
p=-p;
}
}

你的t是int型的,t=1.0/i*p,你会将一个double型的数据赋给他,会出问题。

#include<stdio.h>
void main()
{
int p,n,i;
float sum,t;
i=1;p=1;t=1;sum=0;
printf("请输入一个数");
scanf("%d",&n);
while(i<=n)
{sum=sum+t;
t=1.0/(float)i*p;
i++;
p=-p;
}
printf("sum of 1/%d is:%g\n",n,sum);
}