1樓:與子如初見
#include
int fac(int n);
int main(void)
printf("1!+2!+...+n! = %d\n",sum);
return 0;
}int fac(int n)
2樓:罪惡欲都
int fac( int n)
int fun(int n)
c++程式設計題 編寫函式實現求n!,主程式要求輸入n的值,用函式呼叫的方式求n!的值
3樓:愛墮落
限於整型資料的資料範圍,所以實際上這個程式只能求n<=12的情況。如果想求更大的,必須為這個階乘自定義一個資料型別。
#includeusing namespace std;
int fact(int n); int main()
//下面是使用遞迴函式求n!
int fact(int n)
一個簡單的c++程式設計例子:
定義一個圓錐體類(yzt),資料成員有半徑r,高h,成員函式有:建構函式、求圓錐體體積的valume(),顯示函式display(),在main()中定義yzt 的物件s,求r=h=1時的體積,公式:π/3rrh
#include using namespace std;//定義標準名稱空間
class yzt //定義yzt類double valume()//求圓錐體的體積函式
void display() //圓錐體的體積顯示函式
;int main() //主函式,任何程式都必須有一個main()函式,因為要從它開始執行
{yzt s(1,1); //定義yzt的物件s.display(); //利用物件s呼叫yzt的display()函式
return 0;
4樓:
#include
using namespace std;
int multi(int n);
void main()
int multi(int n)
編寫程式,求 1!+2!+3!+4!+6!+....+n!,要求,求階乘功能用遞迴函式實現
5樓:匿名使用者
可以拒絕做這道題,然後告訴你們老師, 用遞迴求階乘是全世界最sb的程式設計師才幹的~~~如果要告訴學生什麼情況下用迴圈什麼情況下用遞迴.....階乘就是最應該用迴圈最不應該用遞迴的情況.學校課本用階乘講解遞迴是在誤人子弟.
對以上言論負全責, 歡迎拍磚.
6樓:匿名使用者
#include
usingnamespacestd;
longunsignedfun(intn)voidmain()
c語言怎麼用遞迴呼叫函式的方法求n的階乘?
7樓:飛喵某
1、開啟vc6.0軟體bai,新建
一個duc語言的專案:
2、接zhi下來編寫主程dao序,首先定義內用來求階乘的遞容歸函式以及主函式。在main函式裡定義變數sum求和,呼叫遞迴函式fact(),並將返回值賦予sum,最後使用printf列印sum的結果,主程式就編寫完了:
3、最後執行程式,觀察輸出的結果。以上就是c語言使用遞迴求階乘的寫法:
8樓:小甜甜愛亮亮
解決步驟:
#include
long fun(int n)
main()
語言標準
起初,c語言沒有官方標準。2023年由美國**電報公司(at&t)貝爾實驗室正式發表了c語言。布萊恩·柯林漢(brian kernighan) 和 丹尼斯·裡奇(dennis ritchie) 出版了一本書,名叫《the c programming language》。
這本書被 c語言開發者們稱為k&r,很多年來被當作 c語言的非正式的標準說明。人們稱這個版本的 c語言為k&r c。 [3]
k&r c主要介紹了以下特色:
結構體(struct)型別
長整數(long int)型別
無符號整數(unsigned int)型別
把運算子=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道使用者要處理i = -10還是i =- 10,使得處理上產生混淆。
即使在後來ansi c標準被提出的許多年後,k&r c仍然是許多編譯器的最 準要求,許多老舊的編譯器仍然執行k&r c的標準。
1970到80年代,c語言被廣泛應用,從大型主機到小型微機,也衍生了c語言的很多不同版本。
2023年,美國國家標準協會(ansi)成立了一個委員會x3j11,來制定 c語言標準。 [4]
2023年,美國國家標準協會(ansi)通過了c語言標準,被稱為ansi x3.159-1989 "programming language c"。因為這個標準是2023年通過的,所以一般簡稱c89標準。
有些人也簡稱ansi c,因為這個標準是美國國家標準協會(ansi)釋出的。
2023年,國際標準化組織(iso)和國際電工委員會(iec)把c89標準定為c語言的國際標準,命名為iso/iec 9899:1990 - programming languages -- c [5] 。因為此標準是在2023年釋出的,所以有些人把簡稱作c90標準。
不過大多數人依然稱之為c89標準,因為此標準與ansi c89標準完全等同。
2023年,國際標準化組織(iso)和國際電工委員會(iec)釋出了c89標準修訂版,名叫iso/iec 9899:1990/cor 1:1994[6] ,有些人簡稱為c94標準。
2023年,國際標準化組織(iso)和國際電工委員會(iec)再次釋出了c89標準修訂版,名叫iso/iec 9899:1990/amd 1:1995 - c integrity [7] ,有些人簡稱為c95標準。
c99標準
2023年1月,國際標準化組織(iso)和國際電工委員會(iec)釋出了c語言的新標準,名叫iso/iec 9899:1999 - programming languages -- c [8] ,簡稱c99標準。這是c語言的第二個官方標準。
在c99中包括的特性有:
增加了對編譯器的限制,比如源程式每行要求至少支援到 4095 位元組,變數名函式名的要求支援到 63 位元組(extern 要求支援到 31)。
增強了預處理功能。例如:
巨集支援取可變引數 #define macro(...) __va_args__
使用巨集的時候,允許省略引數,被省略的引數會被擴充套件成空串。
支援 // 開頭的單行註釋(這個特性實際上在c89的很多編譯器上已經被支援了)
增加了新關鍵字 restrict, inline, _complex, _imaginary, _bool
支援 long long, long double _complex, float _complex 等型別
支援不定長的陣列,即陣列長度可以在執行時決定,比如利用變數作為陣列長度。宣告時使用 int a[var] 的形式。不過考慮到效率和實現,不定長陣列不能用在全域性,或 struct 與 union 裡。
變數宣告不必放在語句塊的開頭,for 語句提倡寫成 for(int i=0;i<100;++i) 的形式,即i 只在 for 語句塊內部有效。
允許採用(type_name) 類似於 c++ 的建構函式的形式構造匿名的結構體。
複合字面量:初始化結構的時候允許對特定的元素賦值,形式為:
struct test foo = , [1].a = 2 };
struct test foo = ; // 3,4 是對 .c,.d 賦值的
格式化字串中,利用 \u 支援 unicode 的字元。
支援 16 進位制的浮點數的描述。
printf scanf 的格式化串增加了對 long long int 型別的支援。
浮點數的內部資料描述支援了新標準,可以使用 #pragma 編譯器指令指定。
除了已有的 __line__ __file__ 以外,增加了 __func__ 得到當前的函式名。
允許編譯器化簡非常數的表示式。
修改了 /% 處理負數時的定義,這樣可以給出明確的結果,例如在c89中-22 / 7 = -3, -22% 7 = -1,也可以-22 / 7= -4, -22% 7 = 6。 而c99中明確為 -22 / 7 = -3, -22% 7 = -1,只有一種結果。
取消了函式返回型別預設為 int 的規定。
允許 struct 定義的最後一個陣列不指定其長度,寫做 (flexible array member)。
const const int i 將被當作 const int i 處理。
增加和修改了一些標準標頭檔案,比如定義 bool 的 ,定義一些標準長度的 int 的 ,定義複數的 ,定義寬字元的 ,類似於泛型的數學函式 , 浮點數相關的 。 在增加了 va_copy 用於複製 ... 的引數。
裡增加了 struct tmx ,對 struct tm 做了擴充套件。
輸入輸出對寬字元以及長整數等做了相應的支援。
gcc和其它一些商業編譯器支援c99的大部分特性。
c11標準
2023年12月8日,國際標準化組織(iso)和國際電工委員會(iec)再次釋出了c語言的新標準,名叫iso/iec 9899:2011 - information technology -- programming languages -- c [9] ,簡稱c11標準,原名c1x。這是c語言的第三個官方標準,也是c語言的最新標準。
新的標準提高了對c++的相容性,並增加了一些新的特性。這些新特性包括:
對齊處理(alignment)的標準化(包括_alignas標誌符,alignof運算子, aligned_alloc函式以及標頭檔案。
_noreturn 函式標記,類似於 gcc 的 __attribute__((noreturn))。
_generic 關鍵字。
多執行緒(multithreading)支援,包括:
_thread_local儲存型別識別符號,標頭檔案,裡面包含了執行緒的建立和管理函式。
_atomic型別修飾符和標頭檔案。
增強的unicode的支援。基於c unicode技術報告iso/iec tr 19769:2004,增強了對unicode的支援。
包括為utf-16/utf-32編碼增加了char16_t和char32_t資料型別,提供了包含unicode字串轉換函式的標頭檔案.
刪除了 gets() 函式,使用一個新的更安全的函式gets_s()替代。
增加了邊界檢查函式介面,定義了新的安全的函式,例如 fopen_s(),strcat_s() 等等。
增加了更多浮點處理巨集。
匿名結構體/聯合體支援。這個在gcc早已存在,c11將其引入標準。
靜態斷言(static assertions),_static_assert(),在解釋 #if 和 #error 之後被處理。
新的 fopen() 模式,(「…x」)。類似 posix 中的 o_creat|o_excl,在檔案鎖中比較常用。
新增 quick_exit() 函式作為第三種終止程式的方式。當 exit()失敗時可以做最少的清理工作。
c語言編寫函式求 1 ,C語言編寫函式求 1 1 2 1 3 1 4 1 5 1 6 1 n的值怎麼做 結果是什麼呢
include int main printf f n s return 0 用c語言編寫函式求表示式1 1 2 1 3 1 4 1 5 1 6 1 7 1 n的值 1l用1 i明顯是錯的,因為當i 1的時候1 i是等於0的,應該改為1.0 i,而且他沒有考慮正負問題 2l沒有用函式形式表示,而且他...
C語言編寫函式,求表示式1 ,C 語言 編寫函式,求表示式 1 1 2 1 3 1 4 1 5 1
1l用1 i明顯是錯的,因為當i 1的時候1 i是等於0的,應該改為1.0 i,而且他沒有考慮正負問題 2l沒有用函式形式表示,而且他所謂的更改符號貌似無法起到作用吧3l犯的錯誤和1l差不多,1 i 1 是等於0的 include stdio.h double fun int n return su...
c 程式設計 請編寫函式void fun int tt
include include include define m 3 define n 9 void fun int tt m n int pp n pp i tmax int main printf 產生的隨機數 n for i 0 i m i printf n fun tt,pp printf ...