Rainmoon_ 发表于 2021-12-27 13:59:50

要求从键盘输入整数”n”,编程计算s=1+1/2+1/3+……+1/n的值并输出显示。

#include<stdio.h>
int main()
{
        double a,sum=0;
        int i,n;
        printf("输入一个整数N");
        scanf_s("%d", &n);
        for (i = 1; i <= n; i++)
        {
                a= 1 / i;
                sum = sum + a;
        }
        printf("SUM=%f", sum);
        return 0;
}

为什么输出值一只是1呀求解

傻眼貓咪 发表于 2021-12-27 14:03:58

a = 1.0/i

Rainmoon_ 发表于 2021-12-27 14:24:25

傻眼貓咪 发表于 2021-12-27 14:03
a = 1.0/i

大佬能解释下这什么道理吗,刚学

傻眼貓咪 发表于 2021-12-27 14:34:20

本帖最后由 傻眼貓咪 于 2021-12-27 14:35 编辑

因为整数除整数必然是整数,比如:1/2 = 0(不足则取下值,所以一般也用作取商)

浮点数除整数结果就是浮点数

Rainmoon_ 发表于 2021-12-27 14:37:03

傻眼貓咪 发表于 2021-12-27 14:34
因为整数除整数必然是整数,比如:1/2 = 0(不足则取下值,所以一般也用作取商)

浮点数除整数结果就是 ...

懂了,谢谢
页: [1]
查看完整版本: 要求从键盘输入整数”n”,编程计算s=1+1/2+1/3+……+1/n的值并输出显示。