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

c語言求1到12的階乘

發布時間: 2022-06-16 09:16:59

c語言如何求一個數的階乘

n的階乘就是從1到的累積,所以可以通過一個for循環,從1到n依次求積即可。

參考代碼:

#include "stdio.h"

int main() {

int n,i,s=1;

scanf("%d",&n);

for(i=1;i<=n;i++)//for循環求累積

s=s*i;

printf("%d ",s);

return 0;

}

/*

運行結果:(例如求5的階乘)

5

120

*/

(1)c語言求1到12的階乘擴展閱讀:

return用法:

return返回一個數值的意思就是把return<表達式>後面表達式的值返回給調用他的函數。舉個例子:

int sum(int i,int j)

{

return i+j;

printf("這個語句不會被執行,因為該子函數執行到上面的return語句就無條件結束了");

}

main()

{

int a=10,b=11,c;

c=sum(a,b);

printf("%d",c);

}

❷ C語言,求1到20階乘,初學者,求幫助!

int i,j,n;
double sum=0;
double a[20]={1};
j=0;
while(j<=19)
{
i=1;

while(i<=(j+1))
{
if(j==0)
a[j]=1;
else
a[j]=a[j-1]*i;
i=i+1;
}
j=j+1;
}
for(n=0;n<=19;n++)
sum=sum+a[n];
printf("%lf",sum);

他們的答案不對,你測試下我的,你有個地方寫錯了

❸ 1到20階乘的和用c語言表達

#include <stdio.h>

long jiecheng(int x)

{

long int i,k=1;

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

k=k*i;

return k;

}

int main()

{

long int j,k=0;

int i;

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

{

j=jiecheng(i);

k+=j;

}

printf("%ld ",k);

}

(3)c語言求1到12的階乘擴展閱讀

使用其他方法實現求1到20階乘的和:

public class Main{

public static void main(String[] args){

int i,j;

int sum=0;

int a=1;

for(i=1;i<=20;i++){

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

a*=j;

}

sum+=a;

}

System.out.print("sum=1!+2!+3!+...+20!="+sum);

}

}

❹ 用c語言for循環求1到10階乘

void
main()
主函數
{
int
i,a=1;
定義整形變數i,a(a初值為1)
int
sum
=0;
定義整形變數sum
初值為0
for(i
=
1;i<=10;i++)
設i的值為1,當i小於等於10成立時跳出答案,不成立,i的數值加1
{
a
=
a
*i;

a=a乘以i
sum
=
sum
+
a;
sum記錄求和
}
printf("1到10的階乘和是
%d",sum);
輸出結果
end
結束
}

❺ c語言求1到n階乘的和用遞歸

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

❻ c語言算階乘,不知道為什麼只能算對1到12的階乘。求教

printf("%lld\r\n" , t)

試試 這樣

~~~~~~~~~~

❼ 用C語言編寫1到10的階乘

#include<stdio.h>

int main()

{

int a=1,i;

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

a=a*i;

printf("10的階乘=%d",a);

return 0;

}

(7)c語言求1到12的階乘擴展閱讀:

在C語言中,有三種類型的循環語句:for語句、while語句和do While語句。分別介紹如下:

for

for為當型循環語句,它很好地體現了正確表達循環結構應注意的三個問題:

⑴控制變數的初始化。

⑵循環的條件。

⑶循環控制變數的更新。

while:

while結構循環為當型循環(when type loop),一般用於不知道循環次數的情況。維持循環的是一個條件表達式,條件成立執行循環體,條件不成立退出循環。

while語句格式為:

while(條件表達式)

循環體

每次執行循環體前都要對條件表達式進行判斷。

參考資料來源:網路-循環語句

❽ C語言求階乘

其實這個只能算到12的階乘,因為13的階乘等於6227020800,它已經大於2的31次方了,也就是超過了int所能表示的最大值了(溢出),所以你可以把int
改為double.
#include
<stdio.h>
#include
<stdlib.h>
double
f(int
n)
{
if(n==0||n==1)
return
1;
return
n*f(n-1);
}
int
main()
{
int
n,k,i;
printf("請輸入一個數:");
scanf("%d",&k);
for(i=1;i<=k;i++)
{
printf("第%d個數為:",i);
scanf("%d",&n);
printf("%d!=%f\n",n,f(n));
}
}
我把你寫的稍微改了一下,你看看。

❾ 用c語言編程,求從1的階乘一直加到20的階乘。

1、首先打開C語言編輯器,新建一個c語言的文件,導入頭文件並設置一個主函數:

❿ c語言求1到10階乘之和,如題,輸出結果是12,不知道怎麼改

#include <stdio.h>
unsigned long long fact(int n);
int main(void)
{
int i;
unsigned long long num=1;
for(i=2;i<11;i++)
num+=fact(i);
printf(" 從 1 到 10 的階乘之和為:%llu ",num);
return 0;
}
unsigned long long fact(int n)
{
unsigned long long ans;
for(ans=1;n>1;n--)
ans*=n;
return ans;
}