1.通過此次的學習使我對指針有了更深入的瞭解和認識。
2.知道了指針是C的靈魂,它能夠運算,能夠初始化,能夠實現內存動態分配等等
3.固然,它比以前學的都難。。。。算法
6-2 判斷迴文字符串 (20 分)數組
本題要求編寫函數,判斷給定的一串字符是否爲「迴文」。所謂「迴文」是指順讀和倒讀都同樣的字符串。如「XYZYX」和「xyzzyx」都是迴文。函數
由字符型char定義指針變量 s。
int定義n=strlen(s),i, j和count=0。
由for實現i的遞增和j的遞減
if 判斷((s + i) == *(s + j))學習
Q1:i和j的循環用while
A1:i和j的循環用for去實現
Q2:不少次編譯錯誤
A2:給同窗看了以後菜農明白3d
題目:實現小學四則運算。
題目要求:
題目有2個難度級別,分別爲:
第一級難度是1位數的一步加運算
第二級難度是1位數的乘法運算
題目:實現小學四則運算。指針
說明:函數1構造字符數組存放算數表達式;函數2計算出表達式的結果;blog
思路:生成相應的隨機數和隨機運算符並依次賦給exp字符數組,最後輸出字符數組。
(注:其中穿插不合法狀況的判斷,使生成的表達式中不含不合法的表達式)內存
用int定義 count,topic1(1級難度),用來儲存結果和1級難度和2級難度的連接。
int定義的x1,x2和y,y1。x1,x2時計算所需的元素,是開發者給出的數字。 y,y1分別是結果和儲存結果,是顧客給出的答案。開發
判斷不和法的狀況已經包含在函數1中並進行了相應的註釋。字符串
思路:用數學函數,將1級難度的題由判斷式的形式得出結論,對了,進行2級難度的題。錯了有答案提示。
而後再將2級難度的題由判斷式的形式得出結論,對了就結束。錯了有答案提示。
函數僞代碼
int ComputeExp(char exp,int level)
定義整型變量n1,n2於循環
定義len,將exp數組長度的值賦給len
定義result用於存放表達式計算結果
定義m1,m=20時時說明是第一個運算符出現的狀況
定義字符變量ch暫時存放運算符
int topic2;//2級難度
int n1,n2;
int m,m1;
printf("請輸入正確答案!\n");
printf("45=");
錯了就輸出so bad!
1.新增了int ComputeExp(char *exp,int level)
2.原來的代碼和如今的代碼思路都比較混亂。
1.代碼行數減小了一百行左右,由三百多行減小到兩百多行;能夠簡化不少代碼,與前期改進以前相比較代碼量更少了。
2.要使用指針來記錄字符數組的地址,進行存放算式。而這個環節就是最難的。
3.之前的代碼是判斷算式是否合理、判斷答案正誤、輸出正答率等功能,而如今的更靈活一些。
4.到了三級難度是就不會繼續寫下去,不知道該怎麼鏈接。