大炸炸 发表于 2021-4-23 22:38:07

求助第一个代码为啥不对

题目是:这次牛牛又换了个数列,他想计算:1+1/2+1/3+…+1/N的值。(保留6位小数)
我的代码:
#include<stdio.h>
int main()
{
    int a,b;
    float c=0;
    scanf("%d",&a);
    for (b=1;b<=a;b++)
   {
           c=(1.0/b)+c;
   }
        printf("%.6f",c);       
}

正确代码:
#include<stdio.h>
int main()
{
    int a,b;
    double c=0;
    scanf("%d",&a);
    for (b=1;b<=a;b++)
   {
           c=(1.0/b)+c;
   }
        printf("%.6lf",c);       
}

不懂啥区别,为啥第一个不能通过

yuxijian2020 发表于 2021-4-24 01:37:54

float 和 double 大小不一样
尽量多使用double
float不太好用

大炸炸 发表于 2021-4-24 10:39:38

yuxijian2020 发表于 2021-4-24 01:37
float 和 double 大小不一样
尽量多使用double
float不太好用

okk谢啦
页: [1]
查看完整版本: 求助第一个代码为啥不对