严凯 发表于 2020-12-5 16:05:22

超级简单

#include<stdio.h>
void main()
{
        float fun(float n);
                float n;
                printf("轻松你输入一个大于1小于100的数字:");
                scanf("%f",&n);
                printf("%f",fun(n));
}
    float fun(float n)
        {
                int i=1,k;
                double        j,sn=1;
                for(k=1;k<=n;k++)
                {
                        i=i*k;
                        j=1/i;
                        sn=sn+j;
                }
                return sn;
        }
   



//请编写函数fun,其功能是计算并输出如下多项式的值:
sn=1+1/1!+1/2!+1/3!+........+1/n!
例如输入15,输出sn=2.718282
为什么我这个输出一直都是2.00000

昨非 发表于 2020-12-5 16:15:08

你敢不敢换个名字{:10_245:}
这么发帖时很不规范的
帖子名字尽量涵盖问题内容
而不是求助,超级简单,,,之类的

严凯 发表于 2020-12-5 16:21:17

昨非 发表于 2020-12-5 16:15
你敢不敢换个名字
这么发帖时很不规范的
帖子名字尽量涵盖问题内容


.。。。。。。没办法啊,吸引大家来嘛

jitianmoshen 发表于 2020-12-5 16:22:18

你问的好勤快...
printf("%f",fun(n));改成printf("%.6f",fun(n));
j=1/i;改成j=1.0/i;

jitianmoshen 发表于 2020-12-5 16:24:41

1 / i, 两个都是整数,结果也是整数

严凯 发表于 2020-12-5 16:33:23

jitianmoshen 发表于 2020-12-5 16:24
1 / i, 两个都是整数,结果也是整数

我是沙笔{:10_251:}真的猪,我把j改成double,忘改i了。
页: [1]
查看完整版本: 超级简单