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

作业社区

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

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

别摸我的键盘 的学生作业:

代码 #include #include #include #include /* See NOTES */ #include #include #include #include #include #include #include #define FILE_SZ 64 void write_file(const char *name){ int ret,fd; char buf[FILE_SZ] = "hello udp\n"; fd = open(name,O_WRONLY|O_CREAT|O_TRUNC,0644); if(-1 == fd){ perror("[ERROR] open()"); exit(EXIT_FAILURE); } ret = write(fd, buf, strlen(buf)); if(-1 == ret){ perror("[ERROR] write()"); exit(EXIT_FAILURE); } close(fd); } void read_file(const char *fname, const char * buf){ int ret,fd; fd = open(fname,O_RDONLY); if(-1 == fd){ perror("[ERROR] open()"); exit(EXIT_FAILURE); } ret = read(fd, (void *)buf, FILE_SZ); if(-1 == ret){ perror("[ERROR] read()"); exit(EXIT_FAILURE); } close(fd); } int main(int argc, const char *argv[]) { if(argc != 3){ fprintf(stderr, "[ERROR] %s \n", argv[0]); exit(EXIT_FAILURE); } int socket_fd; char fname[] = "log.txt"; struct sockaddr_in addr_in; char buf[FILE_SZ] = {0}; ssize_t sz; socket_fd = socket(AF_INET, SOCK_DGRAM, 0); if(socket_fd == -1){ perror("[ERROR] socket()"); exit(EXIT_FAILURE); } addr_in.sin_family = AF_INET; addr_in.sin_port = htons(atoi(argv[2])); addr_in.sin_addr.s_addr = inet_addr(argv[1]); write_file(fname); read_file(fname, buf); #if 0 printf("buf content is %s", buf); #endif sz = sendto(socket_fd, (const void *)buf, strlen(buf), 0, (const struct sockaddr *)&addr_in, sizeof(struct sockaddr_in)); if(-1 == sz){ perror("[ERROR] sendto()"); exit(EXIT_FAILURE); } close(socket_fd); return 0; } 发送结果【图片】

得分 100
学习任务

SamstagBaron 的学生作业:

#include #include #include typedef struct node{ char value; struct node* left; struct node* right; }TreeNode; typedef TreeNode* data_t; typedef struct linknode{ data_t value; struct linknode* next; }linknode_t; typedef struct deque{ linknode_t * head; linknode_t* tail; }deq; linknode_t* createLinklistnode(data_t value){ linknode_t* res = (linknode_t*)malloc(sizeof(linknode_t)); res->value= value; res->next = NULL; return res; } deq* createDeque(){ deq* res = (deq*)malloc(sizeof(deq)); res->head = createLinklistnode(0); res->tail = res->head; return res; } void pushdeq(deq* mydeq,data_t value){ linknode_t* res = createLinklistnode(value); mydeq->tail->next =res; mydeq->tail = res; } data_t popdeq(deq* mydeq){ if(mydeq->head==mydeq->tail){ return 0; } linknode_t *res = mydeq->head->next; data_t ans = res->value; mydeq->head->next = res->next; if(NULL==mydeq->head->next){ mydeq->tail = mydeq->head; } free(res); return ans; } /* typedef struct node{ data_t value; struct node* left; struct node* right; }TreeNode; */ const int N = 6; TreeNode* buildTree(int n){ if(n>N){ return NULL; } TreeNode* node = (TreeNode*)malloc(sizeof(TreeNode)); printf("Please input node %d's data\n",n); scanf("%c",&node->value); getchar(); node->left = buildTree(2*n); node->right = buildTree(2*n+1); return node; } int emptydeq(deq* mydeq){ return mydeq->head==mydeq->tail?1:0; } int main(){ deq* mydeq = createDeque(); TreeNode* head = buildTree(1); pushdeq(mydeq,head); while(0==emptydeq(mydeq)){ TreeNode* node = popdeq(mydeq); printf("%c ",node->value); if(node->left){ pushdeq(mydeq,node->left); } if(node->right){ pushdeq(mydeq,node->right); } free(node); } printf("\n"); return 0; } 【图片】

微信客服

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

帮助反馈 APP下载

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

公众号

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