设计一个c程序求1+1/2+1/3+.....1/100的值

#include<stdio.h>main(){floatsum=0;intn=1;while(n<100){sum=sum+1/n;n=n+1;}printf("sum... #include <stdio.h>
main()
{
float sum=0;
int n=1;
while(n<100)
{
sum=sum+1/n;
n=n+1;
}
printf("sum=%f",sum);
return 0;
}
为什么答案会是1呢
展开
 我来答
听不清啊
高粉答主

2013-11-15 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include <stdio.h>

main()

{

    float sum=0;

    int n=1;

        while(n<100)

        {

            sum=sum+1.0/n;            /*这里改了*/

                n=n+1;

        }

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

            return 0;

}

哩桃仙
2013-11-14 · 超过11用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:25.3万
展开全部
因为你的 n 定义的是 int 类型的,sum = sum + 1/n 中当n=1 时,1/n = 1,sum = 1,之后你的n增加了,但是1/n = 0,所以最后sum = 1,你应该改成 sum = sum + 1.0f/n
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式