版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第4章函數(shù)課后習(xí)題答案一、單選題答案:1.D2.B3.D4.D5.D6.B7.A8.A9.C10.B二、程序填空題1、#include<stdio.h>//填空處(1):聲明函數(shù)原型intmultiplyByTwo(int);intmain(){intnum=5;//填空處(2):調(diào)用函數(shù)并打印返回值printf("%d",multiplyByTwo(num));return0;}//填空處(3):定義函數(shù)intmultiplyByTwo(intn){//填空處(4):函數(shù)實現(xiàn)returnn*2;}2、#include<stdio.h>//填空處(1):聲明函數(shù)原型intadd(intx,inty);intmain(){intresult;inta=6,b=3;//填空處(2):調(diào)用函數(shù)并保存返回值至resultresult=add(a,b);printf("Theresultis:%d\n",result);return0;}//填空處(3):定義函數(shù)intadd(intx,inty){//填空處(4):函數(shù)實現(xiàn)returnx+y;}3、#include<stdio.h>//在這里聲明函數(shù)原型intmax(int,int);intmain(){intresult;inta=6,b=3;//調(diào)用函數(shù)max,并將返回值保存在result中result=max(a,b);printf("結(jié)果為:%d\n",result);return0;}//定義函數(shù)maxintmax(intx,inty){//返回較大的數(shù)return(x>y)?x:y;}4、#include<stdio.h>//在此處聲明函數(shù)原型,函數(shù)名為addition,參數(shù)為兩個整數(shù)intaddition(inta,intb);intmain(){intresult;intx=8,y=5;//調(diào)用函數(shù)并將返回值賦給resultresult=addition(x,y);printf("Thesumis:%d\n",result);return0;}//在此處定義函數(shù)addition,接收兩個整數(shù)參數(shù),返回它們的和intaddition(inta,intb){returna+b;}5、#include<stdio.h>//在此處聲明函數(shù)原型,函數(shù)名為absoluteValue,參數(shù)為一個整數(shù)intabsoluteValue(int);intmain(){intnum,result;num=-10;//調(diào)用函數(shù)并將返回值賦給resultresult=absoluteValue(num);printf("Theabsolutevalueis:%d\n",result);return0;}//在此處定義函數(shù)absoluteValue,接收一個整數(shù)參數(shù),返回其絕對值intabsoluteValue(intx){//在此處補充函數(shù)體if(x<0){return-x;}else{returnx;}}三、編程題1、將26個英文字母分別正序和逆序打印輸出,正序時小寫輸出,逆序是大寫輸出。#include<stdio.h>voidprint_lowercase(){charc;for(c='a';c<='z';++c){printf("%c",c);}printf("\n");}voidprint_uppercase_reverse(){charc;for(c='Z';c>='A';--c){printf("%c",c);}printf("\n");}intmain(){print_lowercase();print_uppercase_reverse();return0;}2、寫出一個函數(shù)返回輸入正整數(shù)對應(yīng)二進制中1的個數(shù)。#include<stdio.h>intcount_ones(intn){intcount=0;while(n){count+=n&1;n>>=1;}returncount;}intmain(){intn=9;printf("%d",count_ones(n));return0;}3、檢查整數(shù)是否為素數(shù)#include<stdio.h>#include<stdbool.h>//函數(shù)聲明boolisPrime(intnum);intmain(){inttestNumber=29;if(isPrime(testNumber)){printf("%disaprimenumber.\n",testNumber);}else{printf("%disnotaprimenumber.\n",testNumber);}return0;}//函數(shù)定義boolisPrime(intnum){if(num<=1)returnfalse;for(inti=2;i*i<=num;i++){if(num%i==0)returnfalse;}returntrue;}注釋:函數(shù)isPrime首先檢查num是否小于等于1,因為小于等于1的數(shù)不是素數(shù)。然后使用一個循環(huán)從2到sqrt(num)來檢查num是否可以被任何數(shù)整除。如果num可以被任何數(shù)整除,函數(shù)返回false,表示num不是素數(shù)。如果num無法被任何數(shù)整除,函數(shù)返回true,表示num是素數(shù)。4、編寫一個遞歸函數(shù),計算斐波那契數(shù)列的第n個數(shù)。#include<stdio.h>intfibonacci(intn){if(n<=1){returnn;}else{returnfibonacci(n-1)+fibonacci(n-2);}}intmain(){intn=10;//需要計算的斐波那契數(shù)列的第n個數(shù)printf("斐波那契數(shù)列的第%d個數(shù)為:%d\n",n,fibonacci(n));return0;}5、寫一個判斷是否是質(zhì)數(shù)的子函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否為質(zhì)數(shù)的信息。#include<stdio.h>#include<stdbool.h>boolisPrime(intn){if(n<=1){returnfalse;}for(inti=2;i*i<=n;i++){if(n%i==0){returnfalse;}}returntrue;}intmain(){intn=17;//需要判斷的整數(shù)if(isPrime(n)){printf("%d是素數(shù)\n",n);}else{printf("%d不是素數(shù)\n",n);}return0;}6、寫兩個子函數(shù),分別求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個函數(shù),并輸出結(jié)果。#include<stdio.h>intgcd(inta,intb){if(b==0)returna;returngcd(b,a%b);}intlcm(inta,intb){returna*b/gcd(a,b);}intmain(){inta=12,b=18;printf("GCD:%d\n",gcd(a,b));printf("LCM:%d\n",lcm(a,b));return0;}7、編寫一個函數(shù),計算一個整數(shù)n的平方根(保留整數(shù)部分)。#include<stdio.h>intsqrtInt(intn){if(n<=1){returnn;}intstart=0,end=n,ans;while(start<=end){intmid=start+(end-start)/2;if(mid<=n/mid){start=mid+1;ans=mid;}else{end=mid-1;}}returnans;}intmain(){intn=16;//需要計算平方根的整數(shù)printf("%d的平方根為:%d\n",n,sqrtInt(n));return0;}8、編寫一個函數(shù)實現(xiàn)n的k次方,使用遞歸實現(xiàn)。#include<stdio.h>intpower(intn,intk){if(k==0){return1;}else{returnn*power(n,k-1);}}intmain(){intn=2;intk=10;printf("%dtothepowerof%dis%d\n",n,k,power(n,k));return0;}9、編寫一個函數(shù),計算n的階乘的尾部零的個數(shù)。#include<stdio.h>inttrailingZeroes(intn){intcount=0;while(n>0){n/=5;count+=n;}returncount;}intmain(){intn=25;//需要計算的數(shù)printf("%d的階乘末尾有%d個零\n",n,trailingZeroes(n));return0;}10、編寫一個函數(shù),驗證哥德巴赫猜想:任何一個大于2的偶數(shù)都可以分解為兩個素數(shù)的和。#include<stdio.h>#include<stdbool.h>boolisPrime(intn){if(n<=1){returnfalse;}for(inti=2;i*i<=n;i++){if(n%i==0){returnfalse;}}returntrue;}voidgoldbachConjecture(intnum){if(num<=2||num%2!=0){printf("輸入有誤!請輸入大于2的偶數(shù)。\n");
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)民警工作制度規(guī)范
- 中學(xué)學(xué)生社團活動經(jīng)費管理制度實施辦法
- 中國的文化制度
- 20XX年質(zhì)量部年終總結(jié)報告
- 2025年安徽新聞出版職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫附答案
- 2026年公共衛(wèi)生與預(yù)防醫(yī)學(xué)題庫200道附參考答案(達標(biāo)題)
- 廣元市公務(wù)員考試試題及答案
- 廣寧公務(wù)員考試試題及答案
- 廣東肇慶市公務(wù)員考試試題及答案
- 古典名著《水滸傳》練習(xí)題附參考答案(基礎(chǔ)題)
- Unit5 (單元卷)人教PEP版 英語六年級上冊
- 《高校防艾知識講座》課件
- 2024年大學(xué)生電子版三方協(xié)議書模板
- 車輛采購服務(wù)投標(biāo)方案(技術(shù)方案)
- 廠務(wù)工作總結(jié)和規(guī)劃
- (高清版)TDT 1001-2012 地籍調(diào)查規(guī)程
- 硝酸鈣在蘋果生產(chǎn)上的作用
- 五軸加工管理制度
- 鍋爐大件吊裝方案
- 基本醫(yī)療保險跨省異地就醫(yī)備案個人承諾書
- GB/T 19228.3-2012不銹鋼卡壓式管件組件第3部分:O形橡膠密封圈
評論
0/150
提交評論