为了账号安全,请及时绑定邮箱和手机立即绑定

作业社区

探索学习新天地,共享知识资源!

0 提交作业
0 布置作业
0 满分作业
得分 100
学习任务

SamstagBaron 的学生作业:

因为11:59时需要26个球,进位还需要一个,所以需要27个球,用时33120min回归原始状态【图片】 #include #include #include const int N = 27; typedef int data_t; typedef struct nodelist{ data_t value; struct nodelist* next; }intlist; typedef struct nodestack{ intlist* top; }intstack; typedef struct nodedeque{ intlist* head; intlist* tail; }intdeque; intstack* create_stack(){ intstack *res = (intstack*)malloc(sizeof(intstack)); res->top = NULL; return res; } data_t pop_stack(intstack* stc){ intlist *res = stc->top; stc->top = stc->top->next; data_t value =res->value; free(res); return value; } void push_stack(intstack* stc,data_t value){ intlist* curr = (intlist*)malloc(sizeof(intlist)); curr->value = value; curr->next = stc->top; stc->top = curr; } int empty_stack(intstack* stc){ return stc->top==NULL?1:0; } intdeque* create_deque(){ intdeque *res = (intdeque*)malloc(sizeof(intdeque)); res->head = (intlist*)malloc(sizeof(intlist)); res->tail = res->head; res->head->next = NULL; return res; } data_t pop_deque(intdeque* stc){ intlist *res = stc->head->next; stc->head->next = res->next; if(stc->head->next==NULL){ stc->tail = stc->head; } data_t value = res->value; free(res); return value; } void push_deque(intdeque* stc,data_t value){ intlist* curr = (intlist*)malloc(sizeof(intlist)); curr->value = value; stc->tail->next = curr; stc->tail = curr; } int empty_deque(intdeque* stc){ return stc->head==stc->tail?1:0; } int check(intdeque* q){ int cnt = 0; intlist* head= q->head->next; while(head){ //printf("%d ",head->value); if(head->value!=cnt+1){ cnt = -1; } cnt+=1; head = head->next; } // printf("\n"); return cnt==N; } int main(){ intdeque* ballque = create_deque(); printf("Build ballque\n"); for(int ii=1;ii

得分 90
讨论题

慕圣3547039 的学生作业:

以最最日语APP为例: 1、为什么做? a)看市场,学习日语的软件很多,有很多都是开班收费的,需要固定的时间来参与上课,人们期望有一款可以自由选择时间进行自学,录播课的质量要更高,再需要的时候选择专项的开班课。让有兴趣学习日语的学生、社会人能够在学习日语的同时能够觉着更加有趣 b)看自身优势,有优秀的外国语学院毕业的老师授课,老师不光有扎实的理论语法知识,还有丰富的日本生活经验,在授课的同时举一反三,将日本社会的方方面面从知识点着手介绍给每一个同学。 c)找产品定位,向对日本文化感兴趣的学生、职场人,在自由的时间和场景下,通过看录播课,做课后作业,一对一,一对多等方式学习日语,解决学生、职场人自学日语的需求 指定目标:6个月做好产品,1年后正式对外宣传 2、如何做? a)定用户:16-35岁的任何人,全部地区,有一定的受教育程度 b)定场景:假期、休息时间 c)定真伪:自学、交流 d)优先级:新功能或新课程提示栏、我的任务、自由闯关、侧边菜单栏【最最课堂、私房课服务、其他等】 e)App产品架构:应用层为红、蓝、白配色,录播课为主,业务层为登录、推送、内容浏览,数据层为音频、视频 f)功能架构:账号体系、录播课、直播课 3、做成什么样? 4、怎么一直做 商业模式为前向收费,付费后学习对应课程 5、怎么做大做强 a)用户获取,微信、百度流量池 b)策略运营,内容运营,试听课的传播,用户运营,私房课,微信群的建立 c)数据分析,日均活跃用户数、日均观看用户数,日均使用时长、新功能使用率。

得分 100
学习任务

jelasin 的学生作业:

练习 1 int depth_of_binary_tree(BTNode_t* root) { if (NULL == root) { return 0; } int left = depth_of_binary_tree(root->left); int right = depth_of_binary_tree(root->right); return left > right ? left + 1 : right + 1; } 练习 2 slist_node* find_by_idx_slist(const slist_head* head, int idx) { if (NULL == head->next || idx head->n) { return NULL; } slist_node* current = head->next; for (size_t i = 1; i next; } } return current; } int sort_linklist(slist_head* head) { slist_node* p = NULL; slist_node* q = NULL; if (NULL == head->next) { return -1; } #define SWAP(x, y) ({ \ typeof(*x) _x = *x; \ typeof(*y) _y = *y; \ (void) (&_x == &_y); \ *x = _y; *y = _x; \ }) printf("Sorting...\n"); bool flag; int last_idx = head->n; int flag_idx = 0; while (true) { flag = true; for (size_t j = 1; j data > q->data) { SWAP(&(p->data), &(q->data)); print_slist(head); flag_idx = j; flag = false; } } if (flag) { break; } last_idx = flag_idx; } return 0; } // main.c #include "SList.h" int test() { slist_head * l = create_empyt_slist(); if (NULL == l) { perror("Failed to create list"); return -1; } insert_head_slist(l, 1); insert_head_slist(l, 5); insert_head_slist(l, 3); insert_head_slist(l, 7); insert_head_slist(l, 9); insert_head_slist(l, 8); insert_head_slist(l, 2); insert_head_slist(l, 4); insert_head_slist(l, 6); print_slist(l); sort_linklist(l); print_slist(l); destyroy_slist(l); return 0; } int main(int argc, char const *argv[]) { return test(); } ➜ sList clang *.c -o slist ➜ sList ./slist 6 -> 4 -> 2 -> 8 -> 9 -> 7 -> 3 -> 5 -> 1 -> NULL Sorting... 4 -> 6 -> 2 -> 8 -> 9 -> 7 -> 3 -> 5 -> 1 -> NULL 4 -> 2 -> 6 -> 8 -> 9 -> 7 -> 3 -> 5 -> 1 -> NULL 4 -> 2 -> 6 -> 8 -> 7 -> 9 -> 3 -> 5 -> 1 -> NULL 4 -> 2 -> 6 -> 8 -> 7 -> 3 -> 9 -> 5 -> 1 -> NULL 4 -> 2 -> 6 -> 8 -> 7 -> 3 -> 5 -> 9 -> 1 -> NULL 4 -> 2 -> 6 -> 8 -> 7 -> 3 -> 5 -> 1 -> 9 -> NULL 2 -> 4 -> 6 -> 8 -> 7 -> 3 -> 5 -> 1 -> 9 -> NULL 2 -> 4 -> 6 -> 7 -> 8 -> 3 -> 5 -> 1 -> 9 -> NULL 2 -> 4 -> 6 -> 7 -> 3 -> 8 -> 5 -> 1 -> 9 -> NULL 2 -> 4 -> 6 -> 7 -> 3 -> 5 -> 8 -> 1 -> 9 -> NULL 2 -> 4 -> 6 -> 7 -> 3 -> 5 -> 1 -> 8 -> 9 -> NULL 2 -> 4 -> 6 -> 3 -> 7 -> 5 -> 1 -> 8 -> 9 -> NULL 2 -> 4 -> 6 -> 3 -> 5 -> 7 -> 1 -> 8 -> 9 -> NULL 2 -> 4 -> 6 -> 3 -> 5 -> 1 -> 7 -> 8 -> 9 -> NULL 2 -> 4 -> 3 -> 6 -> 5 -> 1 -> 7 -> 8 -> 9 -> NULL 2 -> 4 -> 3 -> 5 -> 6 -> 1 -> 7 -> 8 -> 9 -> NULL 2 -> 4 -> 3 -> 5 -> 1 -> 6 -> 7 -> 8 -> 9 -> NULL 2 -> 3 -> 4 -> 5 -> 1 -> 6 -> 7 -> 8 -> 9 -> NULL 2 -> 3 -> 4 -> 1 -> 5 -> 6 -> 7 -> 8 -> 9 -> NULL 2 -> 3 -> 1 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> NULL 2 -> 1 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> NULL 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> NULL 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> NULL 1 2 3 4 5 6 7 8 9 练习3 int merge_sorted_linklist(slist_head* head_1, slist_head* head_2) { if (NULL == head_1 || NULL == head_2) { return -1; } slist_node* cmp_node = NULL; slist_node* insert_node = NULL; for (size_t i = 1; i n; i++) { insert_node = find_by_idx_slist(head_2, i); printf("Inserting %d\n", insert_node->data); for (size_t j = 1; j n; j++) { cmp_node = find_by_idx_slist(head_1, j); printf("Comparing %d and %d\n", cmp_node->data, insert_node->data); if (insert_node->data > cmp_node->data && j != head_1->n) { continue; } else if (unlikely(j == head_1->n)) { insert_tail_slist(head_1, insert_node->data); break; } else if (insert_node->data data) { if (unlikely(1 == j)) { insert_head_slist(head_1, insert_node->data); } else { slist_node* temp = cmp_node->next; slist_node* new_node = (slist_node*)malloc(sizeof(slist_node)); if (NULL == new_node) { perror("Failed to allocate memory for new node"); return -1; } new_node->data = cmp_node->data; cmp_node->data = insert_node->data; cmp_node->next = new_node; new_node->next = temp; head_1->n++; print_slist(head_1); } break; } } } return 0; } ➜ sList ./slist 1 -> 3 -> 5 -> 7 -> 9 -> NULL 2 -> 4 -> 6 -> 8 -> 10 -> NULL Inserting 2 Comparing 1 and 2 Comparing 3 and 2 1 -> 2 -> 3 -> 5 -> 7 -> 9 -> NULL Inserting 4 Comparing 1 and 4 Comparing 2 and 4 Comparing 3 and 4 Comparing 5 and 4 1 -> 2 -> 3 -> 4 -> 5 -> 7 -> 9 -> NULL Inserting 6 Comparing 1 and 6 Comparing 2 and 6 Comparing 3 and 6 Comparing 4 and 6 Comparing 5 and 6 Comparing 7 and 6 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 9 -> NULL Inserting 8 Comparing 1 and 8 Comparing 2 and 8 Comparing 3 and 8 Comparing 4 and 8 Comparing 5 and 8 Comparing 6 and 8 Comparing 7 and 8 Comparing 9 and 8 Inserting 10 Comparing 1 and 10 Comparing 2 and 10 Comparing 3 and 10 Comparing 4 and 10 Comparing 5 and 10 Comparing 6 and 10 Comparing 7 and 10 Comparing 9 and 10 Comparing 8 and 10 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 9 -> 8 -> 10 -> NULL 1 2 3 4 5 6 7 9 8 10 2 4 6 8 10 练习4【图片】

得分 100
讨论题

奔跑的人生 的学生作业:

linklist.h #ifndef LINKLIST_H #define LINKLIST_H #include #include #include typedef int datatype_t; typedef struct node { datatype_t data; struct node *next; } linknode_t; extern linknode_t *create_empyt_linklist(); extern void insert_data_linklist(linknode_t *head, datatype_t data); extern void printf_data_linklist(linknode_t *head); extern void insert_tail_linklist(linknode_t *head, datatype_t data); extern void insert_order_linklist(linknode_t *head, datatype_t data); extern int is_empty_linklist(linknode_t *head); extern int delete_data_linklist(linknode_t *head, datatype_t data); #endif //LINKLIST_H linklist.c #include "linklist.h" linknode_t *create_empyt_linklist() { linknode_t *head = NULL; head = (linknode_t *) malloc(sizeof(linknode_t)); if (NULL == head) { printf("malloc is fail!\n"); return NULL; } memset(head, 0, sizeof(linknode_t)); return head; } //头插法 void insert_data_linklist(linknode_t *head, datatype_t data) { linknode_t *temp = (linknode_t *) malloc(sizeof(linknode_t)); if (NULL == temp) { printf("malloc is fail!\n"); return; } temp->data = data; temp->next = head->next; head->next = temp; return; } //尾插法 void insert_tail_linklist(linknode_t *head, datatype_t data) { linknode_t *temp = (linknode_t *) malloc(sizeof(linknode_t)); if (NULL == temp) { printf("malloc is fail!\n"); return; } temp->data = data; linknode_t *p = head; while (p->next != NULL) { p = p->next; } temp->next = p->next; p->next = temp; return; } //有序插法 void insert_order_linklist(linknode_t *head, datatype_t data) { linknode_t *temp = (linknode_t *) malloc(sizeof(linknode_t)); if (NULL == temp) { printf("malloc is fail!\n"); return; } temp->data = data; linknode_t *p = head; while (p->next != NULL && data < p->next->data) { p = p->next; } temp->next = p->next; p->next = temp; return; } void printf_data_linklist(linknode_t *head) { linknode_t *p = head; while (p->next != NULL) { printf("%d ", p->next->data); p = p->next; } printf("\n"); return; } int is_empty_linklist(linknode_t *head) { return head->next == NULL ? 1 : 0; } int delete_data_linklist(linknode_t *head, datatype_t data) { linknode_t *p = NULL; linknode_t *q = NULL; int flag = 0; if (is_empty_linklist(head)) { return -1; } p = head; while (p->next != NULL) { if (p->next->data == data) { q = p->next; p->next = q->next; free(q); q = NULL; flag = 1; }else { p = p->next; } } if (flag == 0) { return -2; }else { printf("delete %d is successful!\n",data); return 0; } } main.c #include "linklist.c" int main() { linknode_t *head = NULL; datatype_t data; int n = 0; int res = 0; head = create_empyt_linklist(); printf("请输入你想插入的个数:\n"); scanf("%d", &n); printf("请输入%d个数\n", n); for (int i = 0; i < n; i++) { scanf("%d", &data); // insert_data_linknode(head, data); //insert_tail_linklist(head,data); insert_order_linklist(head, data); } printf_data_linklist(head); printf("请输入您想要删除的数据:\n"); scanf("%d", &data); res = delete_data_linklist(head, data); if (res < 0) { printf("没有找到要删除的数据或链表数据为空!\n"); return -1; } printf_data_linklist(head); return 0; } 【图片】

得分 100
讨论题

奔跑的人生 的学生作业:

linklist.h #ifndef LINKLIST_H #define LINKLIST_H #include #include #include typedef int datatype_t; typedef struct node { datatype_t data; struct node *next; } linknode_t; extern linknode_t *create_empyt_linklist(); extern void insert_data_linklist(linknode_t *head, datatype_t data); extern void printf_data_linklist(linknode_t *head); extern void insert_tail_linklist(linknode_t *head, datatype_t data); extern void insert_order_linklist(linknode_t *head, datatype_t data); #endif //LINKLIST_H linklist.c // // Created by yanbo.zhang on 2025-02-20. // #include "linklist.h" linknode_t * create_empyt_linklist(){ linknode_t *head = NULL; head = (linknode_t *)malloc(sizeof(linknode_t)); if(NULL == head){ printf("malloc is fail!\n"); return NULL; } memset(head, 0, sizeof(linknode_t)); return head; } //头插法 void insert_data_linklist(linknode_t *head, datatype_t data) { linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if (NULL == temp) { printf("malloc is fail!\n"); return; } temp->data = data; temp->next = head->next; head->next = temp; return; } //尾插法 void insert_tail_linklist(linknode_t *head, datatype_t data) { linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if (NULL == temp) { printf("malloc is fail!\n"); return; } temp->data = data; linknode_t *p = head; while (p->next != NULL) { p = p->next; } temp->next = p->next; p->next = temp; return; } //有序插法 void insert_order_linklist(linknode_t *head, datatype_t data) { linknode_t *temp = (linknode_t *)malloc(sizeof(linknode_t)); if (NULL == temp) { printf("malloc is fail!\n"); return; } temp->data = data; linknode_t *p = head; while (p->next != NULL && data < p->next->data) { p = p->next; } temp->next = p->next; p->next = temp; return; } void printf_data_linklist(linknode_t *head) { linknode_t *p = head; while (p->next != NULL) { printf("%d ", p->next->data); p = p->next; } return; } main.c #include "linklist.c" int main() { linknode_t *head = NULL; datatype_t data; int n = 0; head = create_empyt_linklist(); printf("请输入你想插入的个数:\n"); scanf("%d", &n); printf("请输入%d个数\n",n); for (int i = 0; i < n; i++) { scanf("%d", &data); // insert_data_linknode(head, data); //insert_tail_linklist(head,data); insert_order_linklist(head, data); } printf_data_linklist(head); return 0; } 【图片】

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号