- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言范例及练习-ncnucsie
程式設計範例及練習
Class 1.2 副程式範例
Index
Example 1.2-1 計算M取N階層 ()
Example 1.2-2 矩陣相加
Example 1.2-3 矩陣相乘
Example 1.2-4 找出1到n中所有的質數
Example 1.2-5 電費計算
Example 1.2-6 計算平均分數, 及與平均分數的分數差
練習1
Example 1.2-7 氣泡排序法
Example 1.2-8 選擇排序法
Example 1.2-9 插入排序法
練習2
Example 1.2-10 求 |Xi-Yj| 的最小值
Example:1.2-11 計算矩陣位置
Example:1.2-12 字串排序
Example:1.2-13 Stack之實作與應用
Example:1.2-14 Queue實作與應用
Example:1.2-15 利用 structure 建構資料 及 排序資料
Example:1.2-16 利用 structure 新增資料 及 刪除資料
Example 1.2-1: 輸入兩個數M及N,計算M取N的值,亦即M!/(N!(M-N)!)
Go to index
/* 程式功能: 輸入兩個數M及N,計算M取N的值,亦即M!/(N!(M-N)!) */
#include stdio.h
long int Fact(int I);
void main(void)
{
long int M, N, C;
printf (輸入兩個正數值M,N,且M須大於等於N);
printf (\n);
printf (M=);
scanf(%ld,M); /*由鍵盤輸入數值*/
printf (\n);
printf (N=);
scanf(%ld,N);
C = Fact(M)/(Fact(N)*Fact(M-N));
/*印出總和*/
printf(M取N=%ld,C);
return;
}
long int Fact(int I) /* 計算整數I的階乘值,即I! */
{
/* 注意: 此函數未處理overflow的問題,也就是當I大於某個數時, */
/* 其計算結果不會是正確的值 */
long int J, P=1;
if (I0) return 0; /* I小於0為不合理的值*/
for (J=1; J=I; J++)
P = P*J;
return P;
}
解釋:
在這以前,我們從未介紹過副程式,所謂副程式,就是在一個程式內被呼叫的一個程式,以這個例子而言,我們的副程式就是Fact,而Fact的功能在於算一個整數的階乘,因為有副程式,我們就會有主程式,主程式永遠叫做main,然而副程式的名字我們可以任意取,但是必須要事先宣告,假如甲程式會呼叫一個乙副程式,我們建議你在甲程式的前面先宣告乙副程式.
以我們這個例子而言,我們只有一個副程式,這個副程式就是Fact,而以下是有關於Fact的宣告:
long int Fact(int I);
Fact前面的long int表明這個副程式的輸出是一個很長的整數,至於int I是指Fact的輸入是I,而且必須是一個整數.
在C語言程式中,是只可以有一個輸出的,如果你想輸出一個以上的結果,你就必須用一個陣列( array )來儲存這些輸出的結果,以後我們會用例子來解釋這些的.
Go to index
Example 1.2-2 矩陣相加
輸入: 3×3矩陣A和B 輸出: 矩陣
Go to index
/* 程式功能: 矩陣相加 */
/* 輸入: 3×3矩陣A和B */
/* 輸出: 矩陣*/
/* 說明: 請事先準備兩個輸入檔Amatrix.txt和 Bmatrix.txt */
/* Amatrix.txt 為一3×3矩陣, Bmatrix.txt 亦為一3×3矩陣 */
#include stdio.h
void ReadFile(FILE *fp, int Matrix[][4]);
void main()
{
FILE *fp1, *fp2;
int A[4][4], B[4][4], C[4][4];
int i, j;
fp1=fopen(AMatrix.txt,r);
fp2=fopen(BMatrix.txt,r);
ReadFile(fp1,A);/*讀檔案內的矩陣到陣列A*/
Re
您可能关注的文档
最近下载
- 国新办“924”政策组合拳深度解读:创新货币政策工具箱,多措并举推动经济高质量发展.docx
- 售电企业电力交易负荷预测管理导则.pdf VIP
- 发电企业电力市场交易辅助决策信息系统技术规范.pdf VIP
- 北斗产业园项目可行性研究报告.docx
- 2024电力现货交易辅助决策系统解决方案.pdf
- 2023发电企业现货交易辅助决策管理系统.docx
- KSC20系列开关磁阻电动机控制器使用说明书V_1.2.docx
- 一种电力现货交易辅助决策系统模型.pdf VIP
- 北斗产业园风险分析与应对策略.docx
- Unit 1 Greetings P1 Greet each other(教学课件)一年级英语上学期(沪教版 2024).pptx
文档评论(0)