天天看點

第一次作業

要求一

第一次作業

錯誤資訊:輸出全為a

錯誤改正:循環語句中的判斷語句指派号‘=’與邏輯運算符相等‘==’弄混,将‘=’改為‘==’即可

要求二

(1)主要描述算法

第一步:輸入資料

第二步:引用函數sum_diff( float op1, float op2, float psum, float pdiff )

第三步:函數sum_diff( float op1, float op2, float psum, float pdiff )中,将形參op1與op2的和指派給指針psum所指的變量sum,将op1與op2的差指派給指針pdiff所指的變量diff

第四步:輸出sum與diff

錯誤資訊1:部分正确

錯誤原因:在函數中重複定義sum與diff

改正方法:删去重複定義的sum與diff

(1)第一步:定義一個實數x,定義一個實數fracpart作為小數部分,定義一個整數intpart作為整數部分

第二步:引用函數void splitfloat( float x, int intpart, float fracpart )來進行整數部分與小數部分的分解

第三步:函數void splitfloat( float x, int intpart, float fracpart )中将形參x強制轉換為整形類型,将得到的值賦給指針intpart所指的變量intpart;将形參x減去指針intpart所指的變量的值所得到的值賦給指針fracpart所指變量fracpart

第四步:輸出intpart與fracpart的值

暫無錯誤

第一步:定義循環變量i,下标變量index,數組長度變量n以及需要查找數變量x;定義數組a[MAXN];

第二步:對數組的輸入以及引用函數search;

第三步:函數search中,通過将數組初位址、長度以及需查找數輸入,再用指針對數組進行周遊,最後傳回查找到的數的下标并賦給下标變量index;

第四步:按照index的值來輸出相應的結果

第一次作業

第一步:定義變量、數組,聲明函數;

第二步:數組指派;

第三步:引用函數,在函數中定義一個最大值變量max并将數組的首位址的值賦給max,再通過周遊來比較交換出該數組的最大值以及找到其下标

第四步:傳回最大值max并将下标指針中的值改變,輸出

第一次作業

錯誤資訊1:函數傳回時未注意下标指針的傳回

錯誤改正:添加下标指針的指派以及傳回即可

第一步:定義數組,聲明函數input,max_min,output;

第二步:定義函數: intput:通過指針将輸入資料放入 數組中來達到給數組指派的效果

max_min:通過周遊找到最大值與最小值的下标,在周遊結束後将最大值與最小值的位置按題意交換

output:按題意周遊輸出數組元素

第三步:按序引用函數intput,max_min,output

第一次作業
第一次作業

第一步:聲明函數sort,定義指針p,循環變量i,數組a

第二步:通過指針p對數組a指派,完成後重新将指針移到數組a首位置

第三步:調用函數sort對數組a進行選擇降序排序

具體步驟:1>外循環i為目前位置,令下标變量k=i

2>内循環j周遊i之後的剩餘元素,若j所指位置的值大于k所指位置的值,則令k=j

3>内循環結束後判斷k是否與i相等,若不相等,則交換i所指位置的值與k所指元素的值

第四步:按題意格式輸出

第一次作業
第一次作業

錯誤資訊1:未使用函數中數組的形參名導緻編譯錯誤

錯誤改正:将自己在函數中使用的數組名改為函數中的形參名

第一步:定義數組,聲明函數

第二步:定義函數palindrome來判斷是否為回文數

具體步驟:1> 通過strlen函數讀取該數組的長度

2> 周遊前半個數組,如果第i個元素的值與第n-i-1個元素的值(即對稱的兩個位置的元素)不相等,則palindrome函數傳回值為false

3> 若2>中沒有傳回false,則palindrome函數傳回值為true

第三步:按題意輸出

第一次作業
第一次作業

第一步:聲明函數,定義數組,變量指派,數組指派

第二步:引用函數strmcpy( char t, int m, char s )來實作字元串部分複制

具體步驟:1>找到字元串數組t的第m個元素,判斷該元素是否為‘\0’,若不為'\0',執行2>,否者執行3>

2>将該元素以及字元串數組 t從第m個元素之後的元素通過循環賦給字元串數組s

3>在字元串數組s的末位置加上'\0'

第三步:按題意格式輸出

第一次作業
第一次作業

錯誤資訊1:函數中使用數組

錯誤改正:将數組改為指針形式

錯誤資訊2:對字元串函數s指派時位置位置表達式錯誤,導緻s[0]沒有指派

錯誤改正:重新計算s的位置表達式,帶入特殊值檢驗其正确性

要求三 學習總結和進度

這兩周的PTA作業用到了指針的定義、*運算符的作用以及指針與自定義函數、指針與數組之間的關系相關的知識點

指針的使用極大的友善了自定義函數與主函數之間的互動,使得隻能有一個或零個傳回值的自定義函數能“擁有”多個傳回值,使原本要在主函數中完成的步驟在自定義函數中完成并改變主函數中的變量,最大程度的簡化了主函數;指針的調用,可以有效的避免變量的濫用。另外,指針的靈活性也能使較複雜的值的傳遞過程變得相對簡單;但也是這種靈活性,容易導緻浏覽者的思路混亂。

第一次作業

​​托管界面​​

​​辛靜瑤​​

​​李伍壹​​

​​袁中​​

​​姜健​​

第一次作業