第六次實驗報告

2022-05-18 08:56:04 字數 3040 閱讀 1120

·利用復化梯形公式計算定積分。

·計算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依然有序 程式輸出 經過...