C语言1/1+1/2+1/3...+1/n,求和

#include<stdio.h>intmain(){doublen,i,s=0;scanf("%f",&n);for(i=1;i<=n;i++){s=s+1/i;}pr... #include<stdio.h>
int main()
{
double n,i,s=0;
scanf("%f",&n);
for(i=1; i<=n ;i++)
{
s=s+1/i;
}
printf("%f\n",s);
return 0;
}
这样写对么
展开
 我来答
小白聊电子科技
高粉答主

2020-02-20 · 专注电子数码问题解答
小白聊电子科技
采纳数:775 获赞数:75431

向TA提问 私信TA
展开全部

1、首先初始化代码段:int i,s1=0,s2=0,s3=0;。

2、使用for语句实现:代码段:for(i=1;i<=10;i++)//for语句部分{s1+=i;}printf("s1=%d\n",s1);。

3、使用while语句实现:代码段。

4、接着使用do..while语句实现。

5、最后运行结果:S1=55;S2=55;S3=55;结果运行都是正确的,这样就完成了。

cjj796
推荐于2016-01-14 · TA获得超过8706个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3412万
展开全部

你好!

你的算法是对的,

但是要把 printf("%f\n",s); 里面的 %f 改成 %lf

还有要把 scanf("%f",n); 里面的 %f 改成 %lf

完整的代码是:

#include<stdio.h> 
int main()
{
    double n,i,s=0.0;
    scanf("%lf",&n); 
    for(i=1; i<=n ;i++)
    {
             s=s+1/i;
    }
    printf("%lf\n",s);
    return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-21
展开全部
#include<stdio.h>
void main()
{ int k;
int i=1; //对求和中的分母赋值 //自增长的不能是float
double sum; //把sum当作和
int n=-1; //符号变化
printf("请输入你想输入的N\n");
scanf("%d",&k); //%d是输入整数
for(sum=0;i<=k;i++) //用for循环来求和
{ n=-n; //外面的那个循环完全没必要
sum=(sum+(1.0/i*n));

}
printf("计算结果是 %.6f\n",sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
2016-12-29 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450116
专业C/C++软件开发

向TA提问 私信TA
展开全部
第一个
sum=0
第二个
i++
第三个
1/t
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好嘞啊啊啊啊
2013-10-15 · TA获得超过2612个赞
知道大有可为答主
回答量:1860
采纳率:66%
帮助的人:1187万
展开全部
#include<stdio.h> 
int main()
{
    double s=0;int i,n//double n,i,s=0; 控制变量最好是int类型的
    scanf("%lf",&n);//scanf("%f",&n);double是%lf 
    for(i=1; i<=n ;i++)
    {
             s=s+1.0/i;//1改1.0
    }
    printf("%lf\n",s);//%lf 
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式