當前位置:首頁 » 編程語言 » c語言1到n的階乘和
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言1到n的階乘和

發布時間: 2023-06-13 08:44:22

『壹』 用c語言編寫程序計算1~n的階乘之和....

錯誤可能有三個,第一你的main前面沒有聲明,缺少個int,第二個可能的錯誤就是沒有按照題目的要求進行多股輸入,你的代碼只是輸入一次n就結束程序,第三個是最主要的錯誤,你的for(j=1;j<=i;j++)
裡面每次循環一次就把p賦值為1,如果輸入3的話,答案是不是10?1*1+1*1*2+1*2*3=10。如果要這樣算的話程序如下:
#include<stdio.h>
int main()
{
int i,j,n;
long p;
long Sn=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{p=1;
for(j=1;j<=i;j++)
{ p=p*j; }
Sn=Sn+p;
}
printf("%ld\n",Sn);
}

『貳』 C語言求一到n的階乘之和,n大於1小於等於16。

#include<stdio.h>

intmain(){
__int64fact=1,i,sum=0;
intn;
scanf("%d",&n);
for(i=1;i<=n;++i){
fact*=i;
sum+=fact;
}
printf("sum=%I64d ",sum);
return0;
}

注意類型 必須是8位元組的整形 用__int64或者用long long (編譯器相關)

『叄』 用C語言求1到N的階層 的累加和

思路:先定義一個函數用來計算一個數的階乘,在從1到N循環依次就其累加和,最後輸出累加和即可。
參考代碼:例如求1到3的階乘累加和。
#include "stdio.h"
int fun(int n){
if(n==1) return 1;
else return n*fun(n-1);
}
#include "math.h"
int main() {
int n,sum=0,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("%d\n",sum);

return 0;
}
/*
運行結果:
3
9
*/

『肆』 c語言求1到n階乘的和用遞歸

1、打開vc6.0,新建一個vc項目,添加頭文件,添加一個空的main函數,這里先定義一個用來求階乘的函數,函數的參數為i,階乘就是不斷的和前面的一個數相乘,這里就是不斷和fact函數相乘,之後編寫主函數的內容:

『伍』 怎樣用C語言計算1到10的階層的和

C語言中實現階乘的計算可以採用遞歸或者循環,通常循環用的比較多,循環可以採用while循環和for循環等。

下面以for循環為例實現1-10的階乘的和的計算,代碼如下:

int i,sum=1,S=0;

for(i=1;i<=10;i++)

{

sum=sum*i;

S=S+sum;

}

上述的變數S在運行結束後的結果值即為1-10的階乘的和。

(5)c語言1到n的階乘和擴展閱讀:

數學函數

所在函數庫為math.h、stdio.h、string.h、float.h

int abs(int i) 返回整型參數i的絕對值

double atof(char *nptr) 將字元串nptr轉換成浮點數並返回這個浮點數

double atoi(char *nptr) 將字元串nptr轉換成整數並返回這個整數

double atol(char *nptr) 將字元串nptr轉換成長整數並返回這個整數

char *ecvt(double value,int ndigit,int *decpt,int *sign),將浮點數value轉換成字元串並返回該字元串