·利用復化梯形公式計算定積分。
·計算ackerman函式。·編寫計算x的y次冪的遞迴函式getpower(intx,inty),並在主程式中實現輸入輸出。
·編寫計算學生年齡的遞迴函式。
·編寫遞迴函式實現ackman函式。1.問題描述一:(1)編制乙個函式sab(a,b,n),其功能為利用復化梯形公式計算定積分
!(其中n為對區間【a,b】的等分數。要求該函式在乙個獨立的檔案中。
(2)編制乙個主函式以及被積函式值的函式f(x),在主函式中呼叫(1)中的函式sab(a,b,n)計算並輸出下列積分值
要求主函式與函式f(x)在同一檔案中。
(3)編制另乙個主函式以及計算被積函式值的函式f(x),在主函式中呼叫(1)中的函式sab(a,b,n)計算並輸出下列積分值
同樣要求主函式與函式f(x)在同一檔案中。
(4)要求畫出模組sab()的流程圖。
方法說明:
設定積分為
則復化梯形求積公式為
其中流程圖如圖所示:
二:(1)根據方法說明,編制計算ackerman函式的遞迴函式ack(n,x,y)。
(2)編制乙個主函式,由鍵盤輸入n,x,y,呼叫(1)中的函式ack(n,x,y),計算ackerman函式。
(3)在主函式中,輸入之前要有提示,並檢查輸入資料的合理性,若輸入的資料不合理,則輸出錯誤資訊,輸出要有文字說明。
(4)輸入(n,x,y)=(2,3,1)執行該程式。然後自定義幾組資料再執行該程式。
方法說明:
ackerman函式的定義如下:
n,x,y為非負整數,且
程式流程如如圖所示:
2.實驗**
#include "stdio.h" //實驗標頭檔案sab.h//
double f(double x);
double sab(double a,double b,int n)
result=h*(x1+x2)/2+h*x3;
return (result);
}
#include "stdio.h"
#include "math.h"
#include "sab.h"
double f(double x)
main()
#include "stdio.h"
#include "sab.h"
double f(double x)
main()
#include "stdio.h"
int ack(int n,int x,int y)
else if(n==1&&y==0)
else if(n==2&&y==0)
else if(n==3&&y==0)
else if(n>=4&&y==0)
else if(n!=0&&y!=0)
return a;
}main()
else
}
程式執行結果圖:
3.問題分析問題:第乙個實驗中,標頭檔案的呼叫總是無法成功。
解決方法:將標頭檔案的字尾名由.cpp改為.h即可呼叫成功。1.問題描述一:編寫程式,分別從鍵盤輸入資料x和y,計算x的y次冪並輸出。程式流程圖如圖所示:
!(二:用遞迴方法計算學生的年齡。已知第一位學生年齡最小為10歲,其餘學生乙個比乙個大2歲,求第五位學生的年齡。流程圖如圖所示:
三:定義遞迴函式實現下列ackman函式:
其中m,n為正整數。設計程式求acm(2,1),acm(3,2)。程式流程圖如圖所示:
2.實驗**
#include "stdio.h"
long getpower(int x,int y)
else }
main()
#include"stdio.h"
int age(int n)
else
return c;
}main()
#include"stdio.h"
acm(int m,int n)
else if(n==0)
else }
main()
程式執行結果圖:
3.問題分析問題:該實驗未遇見問題。
收穫:本次實驗最大的收穫就是會自己運用標頭檔案了,之前一直都不知道如何使自己寫的程式成為標頭檔案,現在已經有了一部分的了解。而且對於函式的遞迴呼叫也使用地更加靈活了。
第六次實驗
一.問題給 檔名稱 第6次上機實驗 作 者 梁一意 完成日期 2017 年 5 月 5 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 輸入的s為 we are the world 輸入的字元c為 w 問題描述 從字串s 從鍵盤輸入 中刪除所有的字元c 從鍵盤輸入 刪除 要求使用字元...
第六次實驗
part1 結構體型別及程式設計應用 1 補足程式ex1 2.cpp include const int n 5 定義結構體型別struct student,並定義stu為其別名 typedef struct student stu 函式宣告 void input stu s,int n int f...
第六次上機實驗
檔名稱 專案1 陣列操作 作 者 賴詩文 完成日期 2016 年 5 月 19 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 要插入的數和要刪除的數 問題描述 從鍵盤中輸入乙個數x,刪除a陣列中值為x的陣列元素,從鍵盤中輸入乙個數x,將x插入到a陣列後陣列a依然有序 程式輸出 經過...