C語言學習與應用課后習題答案 學習任務十參考答案 北郵_第1頁
C語言學習與應用課后習題答案 學習任務十參考答案 北郵_第2頁
C語言學習與應用課后習題答案 學習任務十參考答案 北郵_第3頁
C語言學習與應用課后習題答案 學習任務十參考答案 北郵_第4頁
C語言學習與應用課后習題答案 學習任務十參考答案 北郵_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

學習任務十參考答案問題10-1:用遞歸函數編寫一個計算1-100之和的程序,請將代碼補充完整。#include"stdio.h"intfun(intn){if(n==1)return1;elsereturnn+fun(n-1);}voidmain(){printf("1-100之和=%d\n",fun(100));getchar();}問題10-2:求以下程序的輸出值。#include"stdio.h"intfun(intn){if(n==1||n==2)return1;elsereturnfun(n-1)+fun(n-2);}voidmain(){printf("%d",fun(6));getchar();}輸出:8問題10-3:如需計算10的階乘如何?在“命令提示符”狀態(tài)下輸入:mfac10回車即:C:\DocumentsandSettings\Administrator>mfac10回車問題10-4:以下這段程序是對應用舉例10-4的改動,編譯不通過,請分析原因。編譯不過的原因是:變量n的使用超出了它的作用域。問題10-5:分析以下程序的執(zhí)行結果。14問題10-6:分析以下程序的執(zhí)行結果。#include"stdio.h"#definePI3.14#defineAPI(PI+1)#defineTPI(2*API)voidmain(){floatx;x=TPI/2;//x=(2*API),x=(2*(PI+1)),x=(2*(3.14+1))printf("TPI/2=%f",x);//TPI/2=4.14getchar();}輸出為:TPI/2=4.140000問題10-7:分析以下程序的執(zhí)行結果。#include"stdio.h"#defineMU(X,Y)X*Yvoidmain(){inta=2,b;b=36/MU(a+1,3);//b=36/a+1*3printf("b=%d\n",b);getchar();}輸出:b=21編程訓練10-1-1計算第五個人的年齡#include"stdio.h"intfun(intn){if(n==1)return38;elsereturn2+fun(n-1);}voidmain(){printf("第五個人的年齡是:%d",fun(5));getchar();}程序執(zhí)行結果:46編程訓練10-1-#include"stdio.h"intfun(intn){if(n==1||n==2)return1;elsereturnfun(n-1)+fun(n-2);}voidmain(){printf("第18項的值是:%d",fun(18));getchar();}程序執(zhí)行結果:第18項的值是:2584編程訓練10-1-#include"stdio.h"intfun(intn){if(n==1||n==2)return1;elsereturnfun(n-1)+fun(n-2);}voidmain(){inti;for(i=1;i<=18;i++)printf("%d",fun(i));getchar();}程序執(zhí)行結果:112358132134558914423337761098715972584編程訓練10-2-1用帶參數的宏實現,將代碼補充完整。#include"stdio.h"#defineMU(X,Y)(X)>(Y)?(X):(Y)voidmain()//用宏不用考慮數據類型{doublex,y,z;inta,b,c;scanf("%d%d",&a,&b);scanf("%lf%lf",&x,&y);z=MU(x,y);//求兩個實型數的較大數c=MU(a,b);//求兩個整型數的較大數printf("z=%lf,c=%d\n",z,c);getchar();getchar();}測試順序輸入數據輸出1379.73.3z=9.700000,c=72733.39.7z=9.700000,c=73739.73.3z=9.700000,c=7編程訓練10-2-2用自定義函數實現,將代碼補充完整。#include"stdio.h"doubleMU(doubleX,doubleY)//定義函數{if(X>Y)returnX;elsereturnY;}voidmain(){doublex,y,z;scanf("%lf%lf",&x,&y);z=MU(x,y);printf("z=%lf\n",z);getchar();getchar();}測試順序輸入數據輸出19.73.3z=9.70000023.39.7z=9.700000337z=7.000000編程訓練10-2-3編寫一個能計算兩數和的宏,并調試運行。#include"stdio.h"#defineADD(X,Y)(X)+(Y)voidmain(){doublex,y,z;inta,b,c;scanf("%d%d",&a,&b);scanf("%lf%lf",&x,&y);z=ADD(x,y);c=ADD(a,b);printf("z=%lf,c=%d\n",z,c);getchar();getchar();}表10-3程序運行結果:測試順序輸入數據輸出1373.39.7z=13.000000,c=102733.39.7z=13.000000,c=103379.73.3z

溫馨提示

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

評論

0/150

提交評論