C語言部落格作業 結構體

2022-05-31 02:42:07 字數 2122 閱讀 7944

struct complex;//該結構體表示複數的實部和虛部

定義函式multiply

定義結構變數product

product.real=x.real*y.real-x.imag*y.imag;

product.imag=x.real*y.imag+y.real*x.imag;//根據運算法則計算實部與虛部

返回結果

本題比較簡單,思路清晰,一遍就過,無除錯問題。

struct clerk;//該結構體表示職員姓名、基本工資、浮動工資,支出和實發工資

定義變數i,n

輸入n定義結構陣列num

for i=0 to n-1

輸入職員的姓名、基本工資、浮動工資,支出

for i=0 to n-1

計算實發工資

輸出職員的姓名和實發工資

本題比較簡單,思路清晰,一遍就過,無除錯問題。

struct phone;//該結構體表示朋友的姓名、出生日期、性別、固定**號碼、移動**號碼

定義變數i,n,k,number

輸入n定義結構陣列num

for i=0 to n-1

輸入姓名、出生日期、性別、固定**號碼、移動**號碼

輸入kfor i=1 to k

輸入要查詢的編號number

如果number=0

輸出編號所對應的記錄

否則輸出not found

第一次提交時顯示答案錯誤,輸出時出現錯誤,有多餘的東西輸出了,仔細分析了一會兒,發現性別的陣列長度設小了,結束符沒地方放,導致錯誤;再次提交,發現只對了乙個測試點,還有兩個測試點沒有通過,通過隨機輸入一些例子發現日期沒有前導0,改了之後發現還是錯誤,後來猜測可能是編號要限制乙個範圍,不能小於0,這一點我在看題時有想過,可後來就忽略了,改了之後果然答案正確了。

**中寫了乙個交換函式,兩個計算長度函式,乙個複製函式;這幾個**雖然簡單,但是有它的巧妙之處,其中計算長度的**分別用了陣列和指標來做,用指標來控制迴圈,非常簡潔明瞭,效率也比用陣列的高;而且複製函式一邊迴圈一遍複製,只用了一行就解決了,非常巧妙,受益匪淺。

運用了結構體來計算每個人的票數,運用結構體能夠更有條理的處理一些有很多成員的問題,如果沒有運用結構體來解決,就要定義很多的變數來存放這一些資料,導致**可讀性降低,寫起來也更麻煩。

結構體共用體

列舉乙個遞迴函式的呼叫過程類似於多個函式的巢狀的呼叫,只不過呼叫函式和被呼叫函式是同乙個函式。為了保證遞迴函式的正確執行,系統需設立乙個工作棧。具體地說,遞迴呼叫的內部執行過程如下:

這一題第二空我做錯了,沒有注意到函式返回值為指標型別,所以函式應定義為指標型別的。

C語言部落格作業 結構體

第乙個函式的編寫 首先要遍歷結構體陣列使sum得初始值為0,遍歷陣列中的score與sum相加。第二個函式編寫 先定義乙個結構體中間量temp 用選擇排序法進行排序,進行第二個函式的操作。本題沒有問題認為可以將第乙個函式中的 s用p去操作可以節約空間,還有就是可以用typedef對結構體取別名這樣會...

C語言部落格作業 結構體

1.本題pta提交列表 2.設計思路 void calc struct student p,int n void sort struct student p,int n 3.截圖 4.本題除錯過程碰到問題及pta提交列表情況說明 碰到的問題 最開始用冒泡法,排序反了 解決方法 改變冒泡法內層迴圈的判...

C語言部落格作業 結構體

struct student 該結構體表示學生的學號 姓名 成績和等級 struct worker 結構體表示職員的姓名 基本工資,浮動工資 支出 實際工資 定義結構陣列s n 迴圈輸入n個職員的資訊 for i 0 to i n 1 計算s i sjgz end for 輸出n個職員姓名和實際工資...