
作業(yè)社區(qū)
探索學習新天地,共享知識資源!
浪潮君 的學生作業(yè):
#include #include #define MAX 10 // 順序表最大容量 // 定義學生結(jié)構(gòu)體 struct student { char name[20]; // 學生姓名 int id; // 學號 int age; // 年齡 }; typedef struct student datatype_t; // 定義順序表結(jié)構(gòu)體 typedef struct { datatype_t buf[MAX]; // 學生數(shù)組,最多存 MAX 個學生 int n; // 實際已有學生個數(shù) } seqlist_t; // 判斷順序表是否為空 int is_empty_seqlist(seqlist_t *l) { return (l->n == 0); } // 刪除指定學號的學生(按 id 匹配) int delete_data_seqlist(seqlist_t *l, datatype_t data) { if (l == NULL || l->n == 0) { return -1; // 表為空或非法指針 } int i; for (i = 0; i < l->n; i++) { if (l->buf[i].id == data.id) { // 按學號匹配 break; } } if (i == l->n) { return -2; // 未找到該學生 } // 刪除元素:將后面元素前移覆蓋當前元素 for (int j = i; j < l->n - 1; j++) { l->buf[j] = l->buf[j + 1]; } l->n--; // 刪除后學生數(shù)量減 1 return 0; // 刪除成功 } // 簡單主函數(shù)演示 int main() { seqlist_t list = { .n = 0 }; // 初始化順序表為空 // 添加 3 個學生 list.buf[0] = (datatype_t){"張三", 1001, 18}; list.buf[1] = (datatype_t){"李四", 1002, 19}; list.buf[2] = (datatype_t){"王五", 1003, 20}; list.n = 3; // 打印是否為空 if (is_empty_seqlist(&list)) { printf("順序表為空\n"); } else { printf("順序表不為空,目前有 %d 個學生\n", list.n); } // 刪除學號為 1002 的學生 datatype_t target = {.id = 1002}; int ret = delete_data_seqlist(&list, target); if (ret == 0) { printf("刪除成功!\n"); } else { printf("刪除失敗,錯誤碼:%d\n", ret); } // 打印剩余學生 for (int i = 0; i < list.n; i++) { printf("學生:%s,學號:%d,年齡:%d\n", list.buf[i].name, list.buf[i].id, list.buf[i].age); } return 0; }





浪潮君 的學生作業(yè):
#include #include #define MAX 10 // 學生信息結(jié)構(gòu)體 struct student { char name[20]; int id; int age; }; typedef struct student datatype_t; // 順序表結(jié)構(gòu)體 typedef struct { datatype_t buf[MAX]; // 學生數(shù)組 int n; // 實際學生人數(shù) } seqlist_t; int main() { seqlist_t st; st.n = 0; // 初始化人數(shù)為0 // 添加第一個學生 strcpy(st.buf[0].name, "張三"); st.buf[0].id = 1001; st.buf[0].age = 18; st.n++; // 添加第二個學生 strcpy(st.buf[1].name, "李四"); st.buf[1].id = 1002; st.buf[1].age = 19; st.n++; // 獲取并打印第一個學生的ID int first_id = st.buf[0].id; printf("第一個學生的ID是:%d\n", first_id); return 0; }




