實驗四 函式和陣列

2022-08-10 15:54:14 字數 1539 閱讀 4943

實驗任務1

不可以 函式返回值只有乙個 但一元二次方程有兩個根

實驗任務2

//利用區域性static變數計算階乘

#includelong long fac(int n);//函式宣告

int main()

//函式定義

//練習:區域性static變數特徵

#includeint func(int,int);

int main()

int func(int a,int b)

理論分析結果與實驗執行結果一致

理論分析:第一次 i=3,m=8  返回m=8,p1=8

第二次i=12,m=17 返回m=17,p2=17

實驗執行結果:

特性:變數始終存在,不被其他函式使用,且儲存上次結果

實驗任務3

//尋找兩個整數之間所有素數(包括這兩個整數),把結果儲存在陣列bb中,函式返回素數的個數

//例如,輸入6和21,則輸出為7 11 13 17 19

#include#define n 1000

int fun(int n,int m,int bb[n])

return 0;

} //函式定義

ps:這裡的執行結果有誤

第一次**為 k=2*fun(n-1)-1,然後發現因為這個結果是不斷儲存並帶入下一次計算的 所以表示式不對

第二次**改為 k=2*fun(n-1)+1,發現這可以執行到31 但是32的執行結果有錯誤

最後我改為用此方法求 2^n,在主函式中再減去1,方法可行,第一次執行結果無問題

該次執行32的執行結果又出現了問題 不明白 求解

實驗任務5

#includevoid draw(int n,char symbol);//函式宣告

#includeint main()

return 0;

}//函式定義

問題:關於實驗4 尚存問題 詳細見實驗任務4

實驗4 函式和陣列

實驗一 一元二次方程求解 函式實現方式 重複執行,直到按下ctrl z結束 include include 函式宣告 void solve double a,double b,double c 主函式 intmain return0 函式定義 功能 求解一元二次方程,列印輸出結果 形式引數 a,b,...

實驗4 函式和陣列

任務一 不可以 因為return只可以返回乙個值 並且函式中的變數是區域性變數與主函式無關。利用區域性static變數計算階乘 include long long fac int n 函式宣告 intmain 函式定義 練習 區域性static變數特性 include int func int,in...

實驗4 函式和陣列

實驗任務1 答 不能。結果過多,不易生成多種型別的返回值。實驗任務2 ex2 1.cpp 修改前 利用區域性static變數計算階乘 include long long fac int n 函式宣告 intmain 函式定義 long long fac int n 修改後 利用區域性static變數...