怎么用C语言编程求:1-1/2+1/3-1/4+...+1/99-1/100
3个回答
展开全部
#include <stdio.h>
int main(int argc,char *argv[]){
int i;
double sum;
for(sum=0.0,i=1;i<101;i++)
sum += i&1 ? 1.0/i : -1.0/i;
printf("The result is %g\n",sum);
return 0;
}
追问
那个 因为我是初学 能不能把几步重要的步骤写下注释给我啊?
追答
int main(int argc,char *argv[]){
int i;
double sum;
for(sum=0.0,i=1;i<101;i++)//从1遍历到100
sum += i&1 ? 1.0/i : -1.0/i;//用i&1判断i的奇偶,奇数取1.0/i,反之取-1.0/i,累加到s
printf("The result is %g\n",sum);
return 0;
}
展开全部
本题的要点:1除以一个整数后,结果总是0,所以要把这个整数强制转换为double。JAVA写的,和C是一样的。
public class myTest
{
public static void main(String[] args)
{
double sum=0;
int n=100;
for(int i=1;i<=n;i++)
{
if(i%2==1)
sum=sum+1/(double)i;
else
sum=sum-1/(double)i;
}
System.out.println("sum=:"+sum);
}
}
public class myTest
{
public static void main(String[] args)
{
double sum=0;
int n=100;
for(int i=1;i<=n;i++)
{
if(i%2==1)
sum=sum+1/(double)i;
else
sum=sum-1/(double)i;
}
System.out.println("sum=:"+sum);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include
int main()
{
float s=0,t;
int m,n;
printf("输入数值m:\n");
scanf("%d",&m);
for (n=1;n<=m;n++)
{
if(n%2==1)
t=1/n;
else t=-1/n;
s=s+t;
}
printf("%f\n",s);
return 0;
}
int main()
{
float s=0,t;
int m,n;
printf("输入数值m:\n");
scanf("%d",&m);
for (n=1;n<=m;n++)
{
if(n%2==1)
t=1/n;
else t=-1/n;
s=s+t;
}
printf("%f\n",s);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询