中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言測試n的階乘和x的n次方

發布時間:2020-10-21 09:18:46 來源:腳本之家 閱讀:216 作者:碼農-嵌入式Linux 欄目:編程語言

題目描述

輸入一個正數x和一個正整數n,求下列算式的值。要求定義兩個調用函數:fact(n)計算n的階乘;mypow(x,n)計算x的n次冪(即xn),兩個函數的返回值類型是double。

C語言測試n的階乘和x的n次方

×輸出保留4位小數。

輸入

x n

輸出

數列和

樣例輸入

2.0 3

樣例輸出

1.3333

答案

/*************************************************************************
    > File Name: 2.c
    > Author: 
    > Mail: 
    > Created Time: Wed 12 Dec 2018 09:03:22 AM CST
 ************************************************************************/
#include<stdio.h>
double fact(int n)
{
    double s = 1.0;
  for(int i=1; i<= n; i++)
    {
        s=s*i;
    } 
    return s;
}
double mypow(double x,int n)
{         
  double s = 1.0;
  //printf("%lf %d\n",x,n);
  if(n == 0)  
  {       
   return 1.0; 
  }            
  if(n == 1)  
  {       
   return x;                                        
  }
  s = x;
  for(int i =0;i<n-1;i++)
  {       
   s = x*s;  
  }
  //printf("%lf \n",s);
  return s;   
}
void main(void)
{
  double x = 0.0;
  int n = 0;
  double s;
  scanf("%lf %d",&x,&n);
  //printf("%lf\n",mypow(-1.0,2));
  if(n == 1)
  {
    s = x;
  }
  else
  {
    s = x;
    for(int i=2;i<=n;i++)
    {
      s = s+ mypow(-1.0,i-1)*mypow(x,i)/fact(i);
    }
  }
  printf("%.4lf\n",s);
}

同事提供的答案,不用函數實現

#include <stdio.h>
int main ()
{
double x, ret, tmp1, tmp2;
int n, i, j;
while (~scanf("%lf %d", &x, &n))
{
ret = 0;
for (i = 1; i <= n; i++)
{
tmp1 = 1;
for (j = 1; j <= i; j++)
{
tmp1 *= x;
}
tmp2 = 1;
for (j = 1; j <= i; j++)
{
tmp2 *= j;
}
if (i % 2 == 1)
{
ret += tmp1 / tmp2;
}
else
{
ret -= tmp1 / tmp2;
}
}
printf("%.04f\n", ret);
}
return 0;
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新闻| 博白县| 彰武县| 柳州市| 民和| 织金县| 南木林县| 澎湖县| 保定市| 平乡县| 沧州市| 定边县| 双牌县| 松阳县| 江达县| 桓台县| 河北区| 雷山县| 江源县| 红河县| 怀安县| 北流市| 沙田区| 抚远县| 鹤壁市| 甘肃省| 平湖市| 卢氏县| 陆河县| 宜兰市| 大同市| 天津市| 仪征市| 启东市| 太仆寺旗| 伊金霍洛旗| 金湖县| 河津市| 北川| 独山县| 安达市|