第一篇:C語言實驗程序、總結(jié) 實驗六 函數(shù)
一 實驗?zāi)康?掌握定義函數(shù)的方法;
實驗六 函數(shù) 掌握函數(shù)實參與形參的對應(yīng)關(guān)系以及“值傳遞”的方式; 3 掌握函數(shù)遞歸調(diào)用的方法;
二 實驗內(nèi)容 編寫兩個函數(shù),分別求兩個正整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個函數(shù),并輸出結(jié)果,兩個正整數(shù)由鍵盤輸入。
【提示】設(shè)有兩個正整數(shù)m和n ⑴ 實驗四介紹了求最大公約數(shù)的算法,也可以用遞歸的方法求最大公約數(shù)。設(shè)hcf(int m,int n)是用來求m和n的最大公約數(shù)h函數(shù),k=m%n,則:
?hcf(n,k)h???nk?0k?0⑵ 若最大公約數(shù)為h,則最小公倍數(shù)為:m*n/h。
實驗時,完成以下兩個函數(shù)的定義,使之和主程序構(gòu)成完整的程序,實現(xiàn)題目的要求。#include
完整程序如下: #include int lcd(int m,int n,int h)/* 求最小公倍數(shù)的函數(shù) */ { return(m*n/h);} main(){ int m,n,h,l;printf(“請輸入兩個正整數(shù)m、n:”);scanf(“%d,%d”,&m,&n);h=hcf(m,n);printf(“%d和%d的最大公約數(shù)是:%dn”,m,n,h);l=lcd(m,n,h);printf(“%d和%d的最小公倍數(shù)是:%dn”,m,n,l);} 運行結(jié)果如下圖: 編寫求n!的函數(shù)f(int n),在主函數(shù)中輸入兩個整數(shù)m、n,然后調(diào)用函數(shù)求: Cnm?m!n!(m-n)!【注意】函數(shù)f的類型應(yīng)用long或double。 程序如下: #include void main(){ long m,n,c;printf(“請輸入兩個整數(shù)”); scanf(“%d,%d”,&m,&n);c=f(c);m=m*(m-1)n=n*(n-1)c=m/(n*c)printf(“組合為%dn”,c); } 有一個字符串,輸入一個字符,編寫函數(shù)dstr將輸入的指定字符從字符串中刪去。#include 完整程序如下: #include