C語言:計算階乘和階乘的和
從鍵盤輸入一個數,用C語言計算該數的階乘
#include <stdio.h>
#include<stdlib.h>
int main()
{
int i,sum = 0, p = 1, n;
scanf("%d",&n);
if(n < 0)
{
printf("負數沒有階乘!\n");
exit (0);
}
for(i = 1; i <= n; i++)
{
p = p * i; //用p來計算階乘
sum = sum + p; //用sum計算階乘的和
}
printf("%d的階乘為:%d\n",n,p);
printf("%d的階乘的和為:%d\n",n,sum);
return 0;
}
程式執行的結果:
1⃣️
4
4的階乘為:24
4的階乘的和為:33
2⃣️
-4
負數沒有階乘!
相關推薦
C語言:計算階乘和階乘的和
從鍵盤輸入一個數,用C語言計算該數的階乘 #include <stdio.h> #include<stdlib.h> int main() { int i,sum = 0, p = 1, n; scanf("%d",&n); if(
我的第四個C語言:計算圓柱體的表面積和體積。
問題及程式碼: 問題:計算圓柱體的表面積和體積。 程式碼:#include <stdio.h> #include <stdlib.h> int main() { float r,h,S,V; printf("請輸入圓柱體的半徑\n"
C語言:楊輝三角、魔方陣和遞迴法
#include<stdio.h> #include<assert.h> #define ROW 5 //楊輝三角 //void Fun(int (*arr)[ROW]) //{ // for(int i = 0;i < ROW;
C語言:計算某年某月某日是這一年的第幾天
C語言:計算某年某月某日是這一年的第幾天 我是一名在校大學生,初次寫部落格,希望各位大佬不喜勿噴,這個小程式,僅供參考,希望對大家有所幫助。 分析題意: 1.判斷使用者輸入的年數是閏年還是平年。 2.如何將不同月份的天數相加。 定義: 1.Input()函式,接收使用者輸
c語言:輸入兩個正整數m和n,求其最大公約數和最小公倍數
輸入兩個正整數m和n,求其最大公約數和最小公倍數。解:程式:#include <stdio.h>int main(){int num1, num2, t,p;printf("請輸入兩個正整數
C語言:計算分數精確值
1 計算分數精確值(10分) 題目內容: 由於計算機內部表達方式的限制,浮點運算都有精度問題,為了得到高精度的計算結果,就需要自己設計實現方法。 (0,1)之間的任何浮點數都可以表達為兩個正整數的
C語言:計算兩個集合的並集
#include<stdio.h> #include<stdlib.h> #include<time.h> #define NUMBER1 7 #define NUMBER2 5 void createCollect(int [],int
c語言:計算存款利息
程式: #include<stdio.h> int main() { float P0=1000,R1=0.0036,R2=0.0225,R3=0.0198,P1,P2,P3 ; P1
C語言:計算兩個集合的交集
#include<stdio.h> #include<stdlib.h> #include<time.h> #define NUMBER1 7 #define NU
c++語言 如何計算二維陣列行數和列數
對於一個二維陣列如: int a[2][5]; 求陣列元素的總數: sizeof(a) / sizeof(int) 而陣列行數則為 :( sizeof(a) / sizeof(int) )/ ( sizeof(a[0]) / sizeof(int) ) 求陣列列數: siz
C語言:計算並輸出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)...+(1+2^0.5+3^0.5+...+n^0.5)
輸出 nbsp clas return %d span file fprintf 計算 //計算並輸出S=1+(1+2^0.5)+(1+2^0.5+3^0.5)...+(1+2^0.5+3^0.5+...+n^0.5) 1 #include<math.h>
C語言:計算並輸出給定10個數的方差。
include pen printf style i++ double The span col //計算並輸出給定10個數的方差。 1 #include<math.h> 2 #include<stdio.h> 3 double fu
C語言:遞迴和非遞迴分別實現求n的階乘
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include "stdlib.h" #include<stdio.h> //遞迴方法實現N的階乘 int fac1(int n
C語言:求n的階乘/求1!+2!+.....+n!
首先求n的階乘,我們先要產生1-n的數字,然後累乘起來,利用for迴圈來實現。 所以求n的階乘的具體程式碼如下:#include <stdio.h> #include <stdlib.h> int main() { int
C語言遞迴實現n的階乘(n!)
非負整數n的階乘可以表示為n! (讀作:n的階乘),其定義如下: n! = n·(n - 1)• (n - 2)· …·1 (n大於或等於l),且n = 0時,n! = l 例如,5 ! = 5·4·3·2·1 = 120。 請編寫一個程式,讀入一個非負整數,
C語言用遞迴方法求解階乘
一般我們求解階乘用的時迭代的方法,即使用迴圈語句來實現功能,這次我們用的是遞迴的方法: long int Factral( long int N ){ if( N > 1 ){ retur
C語言程式設計之遞迴求階乘
題目: 利用遞迴方法實現一個函式,該函式能夠實現n的階乘,即 n! = n*(n-1)*…*3*2*1; #include <stdio.h> int factorial(int n) { if(n == 1) //結束遞迴判斷條件 { retur
C++語言學習(六)——二階構造模式
工程 ESS 語句 argc 流程 失敗 ostream 分享圖片 半成品對象 C++語言學習(六)——二階構造模式 一、構造函數的問題 構造函數存在的問題:A、構造函數只提供自動初始化成員變量的機會B、不能保證初始化邏輯一定成功,如申請系統資源可能失敗C、執行return
C語言:理解函式指標陣列和定義
函式指標陣列和定義 陣列是一個存放相同型別資料的儲存空間,那我們已經學習了指標陣列,比如: int *arr[10];//陣列的每個元素是int* 那要把函式的地址存到一個數組中,那這個陣列就叫函式指標陣列,那函式指標的陣列如何定義呢? int (
C語言:存取結構體成員的點運算子(.)和箭頭運算子(->)的區別
一直以為這兩個是沒有什麼區別的,可以相互替換,今天又翻了一下《C語言核心技術》,明白了其中的奧妙。 相同點:兩個都是二元操作符,其右操作符是成員的名稱。 不同點:點操作符左邊的運算元是一個“結果為結構”的表示式; 箭頭操作符左邊的運算元是