C博客作业03--函数
生活随笔
收集整理的這篇文章主要介紹了
C博客作业03--函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 本章學習總結
1.1 思維導圖
1.2 本章學習體會及代碼量學習體會
1.2.1 學習體會
這幾周學習了函數,題目還是原樣只是多了種做題的方法。一開始看書感覺聲明,定義啊,還有全局變量那些,文縐縐的,都看不太下去,還不如直接做題。但是在做課堂派時,發現沒有看書除了簡答題填不出來,連選擇題都可能會做錯。可能實踐都需要理論支撐吧。幾周學習下來覺得掌握的還是可以,可以分得清不同變量的作用范圍和生存周期,函數返回值該如何設定,函數該如何設計。1.2.2 代碼累計
2. PTA總分
2.1 截圖PTA中函數題目集的排名得分
2.2 我的總分:145
3. PTA實驗作業
3.1 PTA題目1
6-8 使用函數驗證哥德巴赫猜想 哥德巴赫猜想:任何一個不小于6的偶數均可表示為兩個奇素數之和。 其中函數prime當用戶傳入參數p為素數時返回1,否則返回0; 函數Goldbach按照格式“n=p+q”輸出n的素數分解,其中p≤q均為素數。 又因為這樣的分解不唯一(例如24可以分解為5+19,還可以分解為7+17),要求必須輸出所有解中p最小的解。3.1.1 算法分析
- 判斷素數函數
- if p<2
- 返回0
- else
- 定義i
- for i=2 to i<p do
- if p%i==0 then
- 返回0
- end if
-返回1
- if p%i==0 then
- end for
- 輸出哥德巴赫數函數
- 定義i
- for i=2 to i<=n/2 do
- if prime(i)&&prime(n-i) then
- 輸出 n=i+(n-i)
- break
- end if
- if prime(i)&&prime(n-i) then
- end for
3.1.2 代碼截圖
3.1.3 測試數據
測試數據1
測試數據2
測試數據3
3.1.4 PTA提交列表及說明
Q1:編譯錯誤??? A1:覺得編譯錯誤實在很不應該,在dev試過在copy過去都能錯誤掉,,, Q2:部分正確 A2:一開始沒有用break結束if語句導致連一個數有多種方法輸出和題目要求不符,后來加了個break,就可以了4.大作業
4.1函數關系圖
4.2.函數功能介紹
1.函數1
void Screen();
int Menu(int n);
功能:生成界面讓整個游戲看起來友好,比較有體驗感
2.函數2
void LevelChoose();
void TitieNumber(int n);
功能:等級選擇,然后這個等級選擇將會是后續游戲的起點,并且在選擇等級后讓用戶輸入想做的題數
函數3
void Number();
void Operation();
功能:利用srand()函數隨機生成數字,運算符,來組成算式供給用戶做題,并且各個等級不同
函數4
void GameBegin();
double Gameresult();
功能:游戲開始了,根據選擇的等級隨機生成題目,并且調用Gameresult()函數來判斷對錯,并且統計正確和錯誤題數
函數4
void Accuracy();
功能:根據之前統計的正確題數和錯誤題數計算正確率,正確率大于百分之75才輸出正確率
4.3 運行結果截圖
測試結果1
測試結果2
測試結果3
測試結果4
4.4 調試碰到問題及解決辦法
Q1:一開始值的傳遞想用函數調用,沒有想到全局變量,然后整個代碼的思路都亂七八糟的 A1:在大佬的提醒下,想到了還可以用全局變量,就不用函數調用來傳值了 Q2:在隨機產生運算符這里愣了一下 A2:想用數組解決來著,但是運算符也不多,于是用來switch Q3:在測試數據時,發現除法像5/2這種情況就會出錯,因為一開始定義的隨機數都是int型 A3:于是把它們都改成了double型,并且在判斷是否正確時,讓它們的誤差在一定范圍里是正確的4.5 大作業總結
- 我的編寫過程
- 先輸出個界面讓整個游戲比較友好
- 進入主題,選擇等級,隨機得到算式
- 然后判斷用戶輸入的數是否正確
- 這是大概的思路,然后在函數里面完善各個分支
- 遇到的問題
- 值的傳遞卡住了,后來用了全局變量
- 代碼量一大,有的這個地方錯了改一下,另一個相對的地方會忘記改,老是編譯錯誤
- 產生隨機數這個函數不常用,有些不熟悉,只好靠百度了
- 直接要退出游戲的話,原本想用return 0;的,后來我的函數返回型都是void,就用了exit(0);來退出游戲
- 整個游戲的代碼打了挺久的,都是bug
轉載于:https://www.cnblogs.com/hyj-/p/9919788.html
總結
以上是生活随笔為你收集整理的C博客作业03--函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go学习笔记-标准库
- 下一篇: 抽象类,接口都与继承有关