函數(shù)16道題含答案_第1頁
函數(shù)16道題含答案_第2頁
函數(shù)16道題含答案_第3頁
函數(shù)16道題含答案_第4頁
函數(shù)16道題含答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、函數(shù)01:素?cái)?shù)輸入一組整數(shù),其中第一個(gè)整數(shù)為個(gè)數(shù)n,后續(xù)為n個(gè)整數(shù),輸出其中素?cái)?shù)的個(gè)數(shù)。要求將判斷一個(gè)整數(shù)是否用函數(shù)實(shí)現(xiàn)。輸入3 5 7 9輸出2測(cè)試:輸入5 10 11 12 13 14輸出2#include<iostream>using namespace std; int f(int a) int i; for(i=2;i<=a;i+) if(a%i=0) break; if(a=i) return 1; else return 0;int main() int d=0,n,m,i; cin>>n; for(i=1;i<=n;i+) cin>&g

2、t;m; d+=f(m); cout<<d<<" " return 0;函數(shù)02:因數(shù)個(gè)數(shù)之和輸入一組整數(shù),計(jì)算這些整數(shù)的因數(shù)個(gè)數(shù)之和。其中第一個(gè)整數(shù)為個(gè)數(shù)n,后續(xù)為n個(gè)整數(shù)。要求計(jì)算一個(gè)整數(shù)的因數(shù)個(gè)數(shù)用函數(shù)實(shí)現(xiàn)。如輸入3 6 8 10,其中6的因數(shù)個(gè)數(shù)為4,8的因數(shù)個(gè)數(shù)為4,10的因數(shù)個(gè)數(shù)為10,所以計(jì)算結(jié)果為12。輸入3 6 8 10輸出12測(cè)試:輸入5 10 11 12 13 14輸出18#include<iostream>using namespace std; int f(int a) int s=0,i; cin>>

3、;a; for(i=1;i<=a;i+) if(a%i=0) s+; return s;int main() int d=0,n,a,i; cin>>n; for(i=1;i<=n;i+) d+=f(a); cout<<d<<" " return 0;函數(shù)03:Fibonacci數(shù)列輸入2 個(gè)正整數(shù)m和n(1<=m,n<=10000),輸出m 和n之間所有的Fibonacci數(shù)。要求定義并調(diào)用函數(shù)fib(n),它的功能是返回第n項(xiàng)Fibonacci數(shù)。說明:Fibonacci 序列為1 1 2 3 5 8 13 2

4、1 .輸入5 21輸出8 13#include <iostream> using namespace std; int fib(int a) int f0=1,f1=1,f,i; if(a=1|a=2) return 1; else for(i=1;i<a-2;i+) f=f0+f1; f0=f1; f1=f; return f; int main() int m,n,i; cin>>m>>n; for(i=1;i<=10000;i+) if(fib(i)>m&&fib(i)<n) cout<<fib(i)

5、<<" " return 0; 函數(shù)04:最大值從鍵盤輸入n對(duì)整數(shù),求這些對(duì)整數(shù)間所有奇數(shù)之和的最大值。其中計(jì)算兩個(gè)整數(shù)m、n(m<n)之間所有奇數(shù)的和用函數(shù)實(shí)現(xiàn)。輸入格式:第一個(gè)整數(shù)為n,后續(xù)為n對(duì)整數(shù)。輸入3 10 20 17 31 40 45輸出192#include <iostream>using namespace std;int f(int a,int b) int s=0,i;for(i=a;i<=b;i+) if(i%2=1) s+=i; return s;int main() int n,i,a,b,x=0; cin&g

6、t;>n; for(i=1;i<=n;i+) cin>>a>>b; if(x<f(a,b) x=f(a,b); cout<<x<<" " return 0;函數(shù)05:階乘編寫一個(gè)遞歸函數(shù)fac,該函數(shù)計(jì)算n的階乘,如5的階乘為5x4x3x2x1,0的階乘為1。main函數(shù)中輸入n個(gè)整數(shù),計(jì)算這些整數(shù)的階乘平均值。第一個(gè)整數(shù)位個(gè)數(shù)n,后續(xù)為n個(gè)整數(shù)。輸入3 3 4 5輸出50#include<iostream>using namespace std;int fac(int n) if(n=0|n=1

7、) return 1; return n*fac(n-1); int main() int n,i,m; double s=0; cin>>n; for(i=1;i<=n;i+) cin>>m; fac(m); s+=fac(m); cout<<s/n<<endl; return 0;函數(shù)06:小牛問題編程求解問題。若一頭小母牛,從出生起第四個(gè)年頭開始每年生一頭母牛,按此規(guī)律,第n年時(shí)有多少頭母牛。(用遞歸函數(shù)方法求解)輸入7 輸出6#include<iostream>using namespace std;int f(int

8、n) if(n<4) return 1; else return f(n-1)+f(n-3);int main() int n; cin>>n; cout<<f(n)<<endl; return 0;函數(shù)07:最大公約數(shù)輸入n對(duì)整數(shù),計(jì)算這n對(duì)整數(shù)最大公約數(shù)之和。其中計(jì)算一對(duì)整數(shù)的最大公約數(shù)用函數(shù)實(shí)現(xiàn)。輸入格式:第一個(gè)為對(duì)數(shù)n,后續(xù)為n對(duì)整數(shù)。輸入3 14 18 20 30 25 35 輸出17#include<iostream>using namespace std;int f(int a,int b) int i; for(i=a;i&

9、gt;=1;i-) if(a%i=0&&b%i=0) break; return i; int main() int a,b,n,i,s=0; cin>>n; for(i=1;i<=n;i+) cin>>a>>b; s+=f(a,b); cout<<s<<endl; return 0;函數(shù)08:冪函數(shù)設(shè)計(jì)一個(gè)遞歸函數(shù),求x的n次冪,其中n為非負(fù)整數(shù)。在main函數(shù)中輸入x和一個(gè)整數(shù)n,輸出x的n次冪。輸入3.5 4 輸出150.062#include<iostream>using namespace

10、std;double f(double x,int n) if(n=0) return 1; else return x*f(x,n-1);int main() double x; int n; cin>>x>>n; cout<<f(x,n)<<endl; return 0;函數(shù)09:冪函數(shù)定義運(yùn)算nk表示n的k次冪,從鍵盤輸入整數(shù)n和k,計(jì)算1k+2k+nk,其中求nk用函數(shù)實(shí)現(xiàn)。輸入3 5輸出276#include<iostream>using namespace std;int f(int x,int n) if(n=0) re

11、turn 1; else return x*f(x,n-1);int main() int n,k,i,s=0; cin>>n>>k; for(i=1;i<=n;i+) s+=f(i,k); cout<<s<<endl; return 0;函數(shù)10:素?cái)?shù)求和輸入兩個(gè)正整數(shù)min、max,計(jì)算min,max之間所有的素?cái)?shù)之和。將判斷一個(gè)整數(shù)是否為素?cái)?shù)用函數(shù)實(shí)現(xiàn)。輸入2 10輸出17函數(shù)11:最小公倍數(shù)之和輸入n對(duì)整數(shù),計(jì)算這n對(duì)整數(shù)最小公倍數(shù)之和。其中計(jì)算一對(duì)整數(shù)的最小公倍數(shù)用函數(shù)實(shí)現(xiàn)。輸入格式:第一個(gè)為對(duì)數(shù)n,后續(xù)為n對(duì)整數(shù)。輸入2 3 5

12、 4 8輸出23函數(shù)12:逆序求和從鍵盤輸入一組整數(shù)(以0結(jié)束),計(jì)算這組整數(shù)逆序后之和。其中將一個(gè)整數(shù)逆序用函數(shù)實(shí)現(xiàn),整數(shù)123逆序?yàn)?21、整數(shù)-345逆序?yàn)?543。輸入234 894 -94 736 0輸出1518函數(shù)13:數(shù)位計(jì)算輸入一組正整數(shù)(以0結(jié)束),輸出其中數(shù)位之和為奇數(shù)的整數(shù)。其中求一個(gè)數(shù)的數(shù)位之和用函數(shù)實(shí)現(xiàn)。輸入12 22 45 88 0輸出12 45函數(shù)14:數(shù)值計(jì)算輸入2個(gè)正整數(shù)a和n,求a+aa+aaa+aaa(n個(gè)a)之和。例如,輸入2和3,則計(jì)算2+22+222,輸出246。將求i個(gè)a組成的數(shù)用函數(shù)實(shí)現(xiàn),即函數(shù)int f(int a,int i)的返回值為i個(gè)a

13、的值,例如f(3,2)值為33。輸入 2 3輸出246函數(shù)15:累加和編寫一個(gè)函數(shù)f(n)=1+2+.+n。main函數(shù)從鍵盤輸入m、n,利用該函數(shù)計(jì)算并輸出f(m)+f(n)。輸入10 5輸出70函數(shù)16:利用函數(shù)計(jì)算平均值編寫一個(gè)函數(shù)f(x),若x>0函數(shù)返回值為1,若x<0函數(shù)返回值為-1,若x=0函數(shù)返回值為0,利用該函數(shù)實(shí)現(xiàn)計(jì)算輸入的n個(gè)整數(shù)中正整數(shù)的平均值。輸入格式中第一個(gè)為整數(shù)個(gè)數(shù)n,后續(xù)為n個(gè)整數(shù)。輸入5 2 5 -5 3 -3輸出3.33333函數(shù)17:數(shù)根問題遞歸求解輸入n個(gè)正整數(shù)(輸入格式中第一個(gè)為整數(shù)個(gè)數(shù)n,后續(xù)為n個(gè)整數(shù)),輸出各個(gè)數(shù)的數(shù)根。要求計(jì)算一個(gè)數(shù)

14、的數(shù)根部分利用遞歸函數(shù)實(shí)現(xiàn)。數(shù)根的定義:對(duì)于一個(gè)正整數(shù)n,我們將它的各個(gè)位相加得到一個(gè)新的數(shù)字,如果這個(gè)數(shù)字是一位數(shù),我們稱之為n的數(shù)根,否則重復(fù)處理直到它成為一個(gè)一位數(shù),這個(gè)一位數(shù)也算是n的數(shù)根。例如:考慮24,2+4=6,6就是24的數(shù)根??紤]39,3+9=12,1+2=3,3就是39的數(shù)根。樣例輸入5 23 424 98 632 12345樣例輸出5 1 8 2 6函數(shù)18:奇數(shù)判斷題目描述輸入若干個(gè)正整數(shù)(輸入時(shí)以0結(jié)束),輸出其中所有的奇數(shù)及奇數(shù)個(gè)數(shù)。要求判斷一個(gè)數(shù)num的奇偶寫成函數(shù)bool isodd(num),奇數(shù)返回true,否則返回false。樣例輸入23 4 235 3 52 30 19 11 0樣例輸出23 235 3 19 11 5函數(shù)19:利用一個(gè)自定義函數(shù)解決完數(shù)和素?cái)?shù)問題題目描述編寫一個(gè)函數(shù)求一個(gè)數(shù)的所有因子之和。主函數(shù)中輸入兩個(gè)整數(shù)m、n,利用該函數(shù)依次實(shí)現(xiàn)下列問題:1)找出n以內(nèi)所有完數(shù); 2)找出mn間所有素?cái)?shù) 提示:完數(shù)定義為除自身外的所有因子之和等于它本身的數(shù);素?cái)?shù)定義為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論