編程題(15_01.c)
結構
struct student
{
long num
char name[20]
int score
struct student *next
}
鏈表練習:
(1).編寫函數struct student * creat(int n),創建一個按學號升序排列的新鏈表,每個鏈表中的結點中
的學號、成績由鍵盤輸入,一共n個節點。
(2).編寫函數void print(struct student *head),輸出鏈表,格式每行一個結點,包括學號,姓名,分數。
(3).編寫函數struct student * merge(struct student *a,struct student *b), 將已知的a,b兩個鏈表
按學號升序合并,若學號相同則保留成績高的結點。
(4).編寫函數struct student * del(struct student *a,struct student *b),從a鏈表中刪除b鏈表中有
相同學號的那些結點。
(5).編寫main函數,調用函數creat建立2個鏈表a,b,用print輸出倆個鏈表;調用函數merge升序合并2個
鏈表,并輸出結果;調用函數del實現a-b,并輸出結果。
a:
20304,xxxx,75,
20311,yyyy,89
20303,zzzz,62
20307,aaaa,87
20320,bbbb,79
b:
20302,dddd,65
20301,cccc,99
20311,yyyy,87
20323,kkkk,88
20307,aaaa,92
20322,pppp,83
標簽:
student
struct
score
long
上傳時間:
2016-04-13
上傳用戶:zxc23456789
本題要完成的是一組簡單C表達的運算。所有表達式存放在文件 CExpression.txt 中,每個表達式一行。每行的長度不會超過80個字符。文件最后有一個空行表示結束。
每個表達式,只包含簡單的整數變量和限定的一些操作符,表達式中沒有常量。總共有26個可能出現在表達式中的變量,分別命名為 a,b,...,z。每個變量最多出現一次。26個變量的初值分別為1,2,...,26。
表達式中的操作符,包括:兩個二元操作符 +, -,表示加,減運算。例如,表達式a+c-d+b(即1+3-4+2)的結果為2。 單獨一個-號不能放在變量前面,表示負數。
表達式中還包含兩個一元運算符:++,--,表示加一和減一運算。它們既可以出現在一個變量的前面、也可以出現在后面。如果出現在變量前面,則表示先對變量進行加一/減一運算,然后變量值參與表達式計算。如果出現在變量后面,則表示變量的原值參與表達式計算,表達式計算完之后,變量值加一/減一。
例如,表達式 -- c + b-- 的結果為 4, 表達式計算完之后, b,c的值分別為1,2
輸出格式要求:輸出直接顯示在屏幕上。對于每個表達式,第一行輸出表達式的內容。第二行輸出表達式的值,后面幾行輸出參與運算的各個變量的結果值。
標簽:
CExpression
txt
運算
表達式
上傳時間:
2017-01-17
上傳用戶:cjf0304