




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、程序填空給定程序中函數(shù)fun的功能是:找出100?n(不大于1000)之間的三位數(shù)字相等的所有整數(shù),把這些整數(shù)放在s所指的數(shù)組中,整數(shù)的個數(shù)作為函數(shù)值返回。在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,使程序得出正確的結(jié)果即可。程序填空如下:修改后代碼如下:#include<stdio.h>#defineN100intfun(int*s,intn){inti,j,k,a,b,c;j=0;for(i=100;i<n;i++){found**************/found**************//**************k=i;found**************/found**************/a=k%10;k/=10;b=k%10;k/=10;/**************c=k;if(a==b&&a==c)s[j++]=i;}returnj;}main(){inta[N],n,num=0,i;do{printf("\nEntern(<=1000); ");scanf("%d",&n);}while(n>1000);num=fun(a,n);printf("\n\nTheresult:\n");for(i=0;i<num;i++)printf("%5d",a[i]);printf("\n\n");}2、程序改錯給定程序中函數(shù)fun的功能是:將形參n中各位上為偶數(shù)的數(shù)取出,并按原來從高位到低位的順序組成一個新的數(shù),并作為函數(shù)值返回。例如,從主函數(shù)輸入一個整數(shù)27638496,函數(shù)返回值為26846。請改正函數(shù)fun中指定部位的錯誤,使它能夠得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。需改正程序如下:修改后代碼如下:#include<stdio.h>longfun(longn){longx=0,s,i;intt;s=n;/*********found**********/i=1;/*********found**********/while(s>0){t=s%10;if(t%2==0){/*********found**********/x=x+t*i;i=i*10;}s=s/10;}returnx;}main(){longn=-1;while(n>9999999911n<0){printf("Pleaseinput(0<n<100000000):");scanf("%ld",&n);}printf("\nTheresultis:%ld\n",fun(n));}3、編程題(1)給定程序中函數(shù)fun的功能是:輸出M行M列的整數(shù)方陣,然后求兩條對角線上的元素之和,要求返回此和數(shù)。同時,在函數(shù)中需完整輸出整數(shù)方陣和對角線上元素之和。因此,編寫程序時需注意方陣元素的排列順序和求對角線元素之和時不要漏項。注意:切勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入編寫的語句。程序如下:#include<conio.h>#include<stdio.h>#defineM5intfun(intn,intxx[M][M])(}main(){intaa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};printf(“\nThesumofallelementson2diagnalsis%d.“,fun(M,aa));}編程后代碼如下:#include<conio.h>#include<stdio.h>#defineM5intfun(intn,intxx[M][M]){inti,j,sum=0;printf("整數(shù)方陣為:\n");for(i=0;i<n;i++){for(j=0;j<n;j++){printf("%3d”,xx[i][j]);}printf("\n");}printf("\n相加的數(shù)組元素為:\n");for(i=0;i<n;i++){for(j=0;j<n;j++){if(i==j){printf("xx[%d][%d]=%d\n",i,j,xx[i][j]);sum+=xx[i][j];}if(j==(n-1)-i){printf("xx[%d][%d]=%d\n",i,j,xx[i][j]);sum+=xx[i][j];}}}returnsum;}main(){intaa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};printf("\nThesumofallelementson2diagnalsis%d.",fun(M,aa));}(2)使用遞歸方法求解斐波那契數(shù)列的前30項。其中,斐波那契數(shù)列由以下公式定義:0 (n=0)Fib(n)=1 (n=1)Fib(n-2)+Fib(n-1) (n>1)從上述公式可以看出:斐波那契數(shù)列的第1個數(shù)是0,第2個數(shù)是1,從第3個數(shù)開始,以后每個數(shù)都是前兩個數(shù)之和。編程后代碼如下:#include<conio.h>#include<stdio.h>intfib(intn){if(n==0){return0;}elseif(n==1){return1;}else{returnfib(n-2)+fib(n-1);}}intmain(void){inti,a;printf("斐波那契數(shù)列的前30項為:\n");for(i=0;i<30;i++){a=fib(i);printf("f(%2d)=%d\n",i,a);}}選做題:【編程擴展題】開放式基金是一種委托投資理財產(chǎn)品。用戶可以向基金管理機構(gòu)購買/贖回基金,基金管理機構(gòu)負責(zé)將基金投資于股票等金融產(chǎn)品獲取收益,并收取一定的管理費用。假設(shè)某基金在成立時每份面值為1元,申購費率為1.5%,贖回費率為0.5%。則有如下規(guī)則:每個用戶購買時的金額必須大于等于1000,并且是1000的整數(shù)倍;基金份額=購買金額*(1—申購費率)/份額面值;基金運作后每天公布當(dāng)日每份基金凈值,如0.9871或者1.0121,則:用戶當(dāng)前凈值=基金份額X當(dāng)日每份基金凈值;每日凈值增長率=(當(dāng)日每份基金凈值一昨日每份基金凈值)/昨日每份基金凈值X100%;浮動盈虧=用戶當(dāng)前凈值X(1一贖回費率)一購買金額;周平均凈值=一周每日凈值的和/工作日;;編寫一個程序,要求用戶輸入在基金成立時的購買金額和基金運作第一周的每日每份基金凈值,統(tǒng)計一周來用戶的收益情況(提示:可用數(shù)組存放一周中每日的數(shù)據(jù))。例如,一次程序運行的情況如下:Pleaseinputyourmoney(>1000,andmultiple):15001500isnotmultipleof1000.Pleaseinputyourmoney(>=1000,andmultiple):10000Pleaseinputeverydaynetvalueinthisweek:0.98720.99351.01020.99051.0235QuotientNetValueIncreaseRateCurrentValueCurrentPayoff98500.98720.00%9724 -32598500.99350.64%9786 -26398501.01021.68%9950 -9998500.9905-1.95% 9756-29298501.02353.33%10081 31AverageNetValueinthisweek=1.00098編程后代碼如下:#include<stdio.h>#defineM5//工作日天數(shù)intmain(void){inti,input;//購買金額charheader[M][16]={"Quotient","NetValue","IncreaseRate","CurrentValue","CurrentPayoff"};floatfacevalue=1.0;//面值floatexprate=0.015;//申購費率floatredrate=0.005;//贖回匯率floatquotient;//份額floatsumnetvalue=0;//周凈值和floatweekavg;//周平均凈值//定義個數(shù)組分別存一周內(nèi)每個工作日的凈值,增長率,用戶當(dāng)前凈值,當(dāng)前浮動盈虧floatnetvalue[M];//凈值floatincrate[M];//每日凈值增長率floatcurvalue[M];//用戶當(dāng)前凈值floatcurpayoff[M];//浮動盈虧//輸入的倍數(shù)printf("Pleaseinputyourmoney(>1000,andmultiple):");scanf_s("%d”,&input);do{if(input==0||input%1000!=0){//判斷輸入的數(shù)是不是的倍數(shù),如果不是繼續(xù)輸入,直到輸入正確printf("%disnotmultipleof1000.\n",input);printf("Pleaseinputyourmoney(>=,andmultiple):");scanf_s("%d”,&input);}}while(input==0||input%1000!=0);//計算基金份額:基金份額=購買金額X(-申購費率)/份額面值quotient=input*(1-exprate)/facevalue;//輸入凈值放入數(shù)組中printf("Pleaseinputeverydaynetvalueinthisweek:\n");for(i=0;i<M;i++){scanf_s("%f”,&netvalue[i]);sumnetvalue+=netvalue[i];//計算每日凈值增長率:每日凈值增長率=(當(dāng)日每份基金凈值-昨日每份基金凈值)/昨日每份基金凈值X%if(i==0){incrate[i]=0.00;//工作日第一天無法計算前一天凈值,所以為}else{incrate[i]=(netvalue[i]-netvalue[i-1])/netvalue[i-1]*100;}//計算用戶當(dāng)前凈值:用戶當(dāng)前凈值=基金份額X當(dāng)日每份基金凈值curvalue[i]=quotient*netvalue[i];//計算浮動盈虧:浮動盈虧=用戶當(dāng)前凈值X(-贖回費率)-購買金額curpayoff[i]=curvalue[i]*(1-redrate)-input;}//計算周平均凈值:周平均凈值=一周每日凈值的和/工作日weekavg=sumnetvalue/M;//打印所有數(shù)據(jù)printf("\n");for(i=0;i<M;i++){printf("%-16s",header[i]);}printf("\n");for(i=0;i<M;i++){printf("%8.0f
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際市場營銷復(fù)習(xí)材料與試卷
- 企業(yè)紀律作風(fēng)建設(shè)整改工作方案
- 六年級科學(xué)日食月食教學(xué)實錄
- 低壓配電柜設(shè)計與安裝規(guī)范
- 2025至2030手動家庭護理床行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- ICU患者入院管理流程詳解
- 初中階段數(shù)學(xué)單元測試題庫
- 現(xiàn)代農(nóng)業(yè)技術(shù)推廣應(yīng)用經(jīng)驗總結(jié)
- 聽力口語課程作業(yè)滿分范文
- 課堂教學(xué)評價與反思活動記錄模板
- 監(jiān)理整改措施方案(3篇)
- 景區(qū)酒店融資方案(3篇)
- 臺辦新媒體管理辦法
- 黑色素瘤病理診斷
- 農(nóng)行柔性團隊管理辦法
- 預(yù)防性維護與預(yù)測分析
- DB42∕T 2221-2024 預(yù)制芯樁復(fù)合樁技術(shù)規(guī)程
- 室內(nèi)裝修安全生產(chǎn)責(zé)任書
- 軟件正版化工作培訓(xùn)資料
- 抗癲癇類藥講課件
- 2025三年級科學(xué)教學(xué)質(zhì)量提升計劃
評論
0/150
提交評論