首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言問答

三大經典C語言編程練習:排名、評分與鏈表工資管理

     編輯:C 語言問答

練習一:選美比賽排名

規則:分數越高名次越低(數字越大),同分同名次,名次連續編碼。
輸入:選手得分數組。
輸出:每位選手名次。

解題思路

  • 對原始得分數組複製一份並排序(降序)。
  • 遍歷原數組,在排序後數組中找到首次出現的位置,位置索引+1即為名次。
  • 時間複雜度 O(n log n)。

練習二:大賽現場統分(去極值平均)

規則:每位選手 m 個評分(m>2),去掉一個最高分和一個最低分,剩餘平均分為最終得分。最後按得分降序輸出名次表。

關鍵步驟

  1. 讀入 n、m 及所有評分。
  2. 對每位選手的 m 個分數排序,累加中間 m-2 個分數,計算平均。
  3. 結構體存儲選手編號與平均分,按平均分降序排序輸出。

練習三:單鏈表工資管理系統

功能需求:

  1. 建立含 n 節點的單鏈表,節點含工號、姓名、應發工資(鍵盤輸入)。
  2. 按工號查找節點,找到則輸出姓名與工資。
  3. 統計工資 > y 的節點數,並複製整條鏈表。

核心代碼框架

typedef struct Node {
    int id;
    char name[20];
    float salary;
    struct Node *next;
} Node;

Node* createList(int n);          // 建表
Node* findById(Node* head, int id); // 查找
int countAndCopy(Node* head, float y, Node** newHead); // 統計與複製

完整代碼可參考《C語言程序設計》相關章節或在線 OJ 練習。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved