亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于程序填空,不要改變與輸入輸出有關的語句?

關于程序填空,不要改變與輸入輸出有關的語句?

慕尼黑8549860 2022-07-20 15:11:25
輸入一個正整數 m(0<m<10),求1! + 2! + … + m!,要求定義并調用函數fact(n)計算 n!,函數形參 n 的類型是int,函數類型是double。輸入輸出示例:括號內是說明輸入5 (m=5)輸出:1!+2!+...+5! = 153.000000#include <stdio.h>double fact(int n);int main(void){int i, m;double sum;scanf("%d", &m);/*---------*/printf("1!+2!+...+%d! = %f\n", m, sum);}
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

#include <stdio.h>

double fact(int n);

int main(void)

{    

    int i, m;

    double sum; 

 

    scanf("%d", &m);

    sum=fact(m);

    printf("1!+2!+...+%d! = %f\n", m, sum); 

double fact(int n)

{

 float num=0.0;

 int total,temp;

 total=0;

 temp=1;

 for(int i=1;i<=n;i++)

 {

  for(int j=1;j<=i;j++)

  {

   temp*=j;

  }

  total+=temp;

  temp=1;

 }

 num=(float)total;

 return num;

}

祝你順利通過考試!



查看完整回答
反對 回復 2022-07-24
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

用遞歸寫的,比較挫,但是勉強實現了。寫的有點急沒加注釋,不好意思。但是是比較簡單的,可以看懂~

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

double fact(int n)
{
double z=0;
if(n<0)
{
printf("\nCount Error:n=%d<0 ",n);
z=0;
}
else
if(n==0||n==1)
z=1;
else
z=fact(n-1)*n;
return(z);
}

void main()
{
int m=0;
double sum=0.0,temp=0.0;
scanf("%d", &m);
if(m<=0) //m為0或負數,無不需要向下進行
return ;
while(m)
{
temp=fact(m--);
sum+=temp;
}
printf("1!+2!+...+%d! = %f\n", m, sum);
}


查看完整回答
反對 回復 2022-07-24
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;

double fact(int n)
{
double z=0;
if(n<0)
{
printf("\nCount Error:n=%d<0 ",n);
z=0;
}
else
if(n==0||n==1)
z=1;
else
z=fact(n-1)*n;
return(z);
}

void main()
{
int m=0;
double sum=0.0,temp=0.0;
scanf("%d", &m);
if(m<=0) //m為0或負數,無不需要向下進行
return ;
while(m)
{
temp=fact(m--);
sum+=temp;
}
printf("1!+2!+...+%d! = %f\n", m, sum);
}


查看完整回答
反對 回復 2022-07-24
  • 3 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號