C语言新手问题?

c语言编程实现求下述序列的累加和。
sum = 2/2 + 3/5 + 4/10 + … + (1+n)/(1+n^2) + …
要求:从键盘输入正整数n,输出运算的结果,注意输出格式的表示形式。

这题重点,sum要定义为浮点数,且必须初值0用于累加。n要是定义为整型,要注意整除符号。

我的演示代码,连带公式一起生成打印出来了,你要是不需要公式,可以删除循环中的printf语句。

#include<stdio.h>

int main()

{

int i,n;

float sum=0;

printf("请输入n的值:");

scanf("%d",&n);

for(i=1,printf("sum=");i<=n;i++)

        sum+=(1+i)*1.0/(1+i*i),printf("%d/%d%s",1+i,1+i*i,i<n?"+":"");

    printf("=%f\n",sum);

return 0;

 }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-18
程序如下:

#include<stdio.h>

int main()
{
int i=1,n;
float s=0,t;
printf("Input n:\n");
scanf("%d",&n);
while(i<=n)
{
t = (float )(1+i)/(1+i*i);
s=s+t;
i++;
}
printf("n=%d, s=%f\n",n,s);

return 0;
}

编译运行结果:
Input n:
10
n=10, s=3.243400
第2个回答  2019-11-21
最后一项,在for循环中使(-1)^n*x^n/n!的绝对值>=1e-8;不满足条件就退出循环

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网