C语言计算序列 1 + 1/3 + 1/5 + ... 的前N项之和?答案精确小数点后六位
代码一#include<stdio.h>intmain(){intN;scanf("%d",&N);inti;doublesum=0;for(i=1;i<=N;i=i+2...
代码一
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int i;
double sum = 0;
for(i=1;i<=N;i=i+2)
{
sum = sum + 1.0/i;
}
printf("sum = %.6f",sum);
return 0;
}
代码二
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int i;
double sum = 0;
for(i=1;i<=N;i++)
{
sum = sum + 1.0/(2*i-1);
}
printf("sum = %.6f",sum);
return 0;
}
带入N=23,答案是sum = 2.549541
代码一与代码二区别在于2*I-1和I=I+2有什么区别
计算结果不一样 代码一代入23,答案是2.224353
代码二是对的,2.549541,请问2*I-1和I=I+2有什么区别 展开
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int i;
double sum = 0;
for(i=1;i<=N;i=i+2)
{
sum = sum + 1.0/i;
}
printf("sum = %.6f",sum);
return 0;
}
代码二
#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
int i;
double sum = 0;
for(i=1;i<=N;i++)
{
sum = sum + 1.0/(2*i-1);
}
printf("sum = %.6f",sum);
return 0;
}
带入N=23,答案是sum = 2.549541
代码一与代码二区别在于2*I-1和I=I+2有什么区别
计算结果不一样 代码一代入23,答案是2.224353
代码二是对的,2.549541,请问2*I-1和I=I+2有什么区别 展开
2个回答
展开全部
#include<stdio.h>int main(){ int n,i; //double sum;//sum没有初始化 double sum=0.0;//求和,置sum为0 //printf("请输入数字n:",n);//这句逗号后面的n是多余的,不参与输出 printf("请输入数字n:"); scanf("%d",&n); for(i=1;i<=n;i++) { if(i%2==0) //sum=sum-1/(3*i-2);//1/(3*i-2),由于参与运算的全是整型,算出结果也将是整型,应当加入浮点型 sum=sum-1.0/(3*i-2); else //sum=sum+1/(3^i-2);//这里一个错误同上,一个错误是把*写成了^,天壤之别哦 sum=sum+1.0/(3*i-2); } //printf("sun=%.3f",&sum);//加&取地址,这样输出的是sum的地址值 printf("sum=%0.3f\n",sum); return 0;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询