输入一个正数x和一个正整数n,求下列算式的值。调用两个函数分别计算n的阶乘;计算x的n次幂(C语言)

题目描述

输入一个正数x和一个正整数n,求下列算式的值。要求定义两个调用函数:fact(n)计算n的阶乘;mypow(x,n)计算x的n次幂(即xn),两个函数的返回值类型是double。

      x - x2/2! + x3/3! + ... + (-1)n-1xn/n!

×输出保留4位小数。

输入

x n

输出

数列和

样例输入

2.0 3

样例输出

1.3333

分析:

1、写两个函数,设定好变量及其类型,不要弄错了

2、循环表示阶乘和幂次就可以了,有多种方法表示,比如可以n--,也可以i++等等

3、输出千万不要写&sum,我就是因为这个改了一个小时,编译永远不出错,最后发现了去掉了就好了

代码如下:

#include<stdio.h>
#include<math.h>

double fact(int n)
{
    double sum1=1.0;
    for(; n>0; n--)
        sum1*=n;
    return sum1;
}

double mypow(double x,int n)
{
    double sum2=0.0;
    sum2=pow(x,n);
    return sum2;
}

int main()
{
    double x,sum=0.0;
    int n;
    scanf("%lf%d",&x,&n);
    for(int i=1; i<=n; i++)
    {
        sum+=pow(-1,i+1)*(mypow(x,i)/fact(i));
    }
    printf("%.4lf\n",sum);
    return 0;
}

注:问题 1066: 2004年秋浙江省计算机等级考试二级C 编程题(2)

展开阅读全文

没有更多推荐了,返回首页