
作业社区
探索学习新天地,共享知识资源!
weixin_慕哥3021856 的学生作业:
#include using namespace std; int my_swap(int &a, int &b); int my_swap(float &a, float &b); int my_swap(string &a, string &b); int my_swap(int &a, int &b) { int tmp = a; a = b; b = tmp; return 0; } int my_swap(float &a, float &b) { float tmp = a; a = b; b = tmp; return 0; } int my_swap(string &a, string &b) { string tmp = a; a = b; b = tmp; return 0; } int main(void) { int m = 1, n = 2; float f1 = 1.2f, f2 = 3.4f; string s1 = "I am s1"; string s2 = "I am s2"; my_swap(m, n); my_swap(f1, f2); my_swap(s1, s2); cout





大禹123 的学生作业:
server.c #include #include #include #include #include #include /* See NOTES */ #include #include #include #define BACKLOG 10 //a.out ip port int main(int argc, char const *argv[]) { int sockfd, cfd; int ret; struct sockaddr_in server_addr; struct sockaddr_in client_addr; ssize_t rbytes = 0, sbytes = 0; char buf[1024] = {0}; socklen_t len = sizeof(struct sockaddr_in); if(argc!=3) { fprintf(stderr,"Usage: %s ip port",argv[0]); exit(EXIT_FAILURE); } //1、创建套接字 sockfd = socket(AF_INET, SOCK_STREAM, 0); if(sockfd == -1) { perror("[ERROR] socket()"); exit(EXIT_FAILURE); } bzero(&server_addr, len); bzero(&client_addr, len); //地址族/协议族 与socket函数第一个参数相同 server_addr.sin_family = AF_INET; server_addr.sin_port = htons(atoi(argv[2])); server_addr.sin_addr.s_addr = inet_addr(argv[1]); //2、绑定ip,端口号 ret = bind(sockfd, (const struct sockaddr *) &server_addr, len); if(ret == -1) { perror("[ERROR] bind()"); exit(EXIT_FAILURE); } //3、设置套接字为监听状态,建立监听队列,如果服务端处理不过来的话,会把客户端连接请求缓存在监听队列里,如果超过最大队列数量,那么会被拒绝连接 ret = listen(sockfd, BACKLOG); if(ret == -1) { perror("[ERROR] listen()"); exit(EXIT_FAILURE); } cfd = accept(sockfd, (struct sockaddr *)&client_addr, &len); if(cfd == -1) { perror("[ERROR] accept()"); exit(EXIT_FAILURE); } printf("client ip:%s port:%d\n", inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port)); while(1){ rbytes = recv(cfd, (void *)buf, sizeof(buf), 0); if(rbytes == -1) { perror("[ERROR] recv()"); close(cfd); close(sockfd); exit(EXIT_FAILURE); }else if(rbytes > 0) { printf("client ip:%s port:%d msg: %s\n", inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port), buf); if(strncmp(buf, "quit", 4) == 0) { break; } }else if(rbytes == 0) //表示客户端已经退出了 { printf("client ip:%s port:%d has shutdown", inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port)); break; } } close(cfd); close(sockfd); return 0; } client.c #include #include #include #include #include #include /* See NOTES */ #include #include #include void send_data(int sockfd) { int ret; char buf[256] = {0}; while(1) { memset(buf, 0 ,sizeof(buf)); putchar('>'); fgets(buf, sizeof(buf), stdin); buf[strlen(buf)-1] = '\0'; ret = send(sockfd, (const void *)&buf, strlen(buf), 0); if(ret == -1) { perror("[ERROR] send():"); close(sockfd); exit(EXIT_FAILURE); } if(strncmp(buf, "quit", 4) == 0) { break; } } close(sockfd); exit(EXIT_SUCCESS); } //a.out ip port int main(int argc, char const *argv[]) { int sockfd; int ret; struct sockaddr_in server_addr; if(argc!=3) { fprintf(stderr,"Usage: %s ip port",argv[0]); exit(EXIT_FAILURE); } //1、创建套接字 sockfd = socket(AF_INET, SOCK_STREAM, 0); if(sockfd == -1) { perror("[ERROR] socket()"); exit(EXIT_FAILURE); } bzero(&server_addr, sizeof(struct sockaddr_in)); //地址族/协议族 与socket函数第一个参数相同 server_addr.sin_family = AF_INET; server_addr.sin_port = htons(atoi(argv[2])); server_addr.sin_addr.s_addr = inet_addr(argv[1]); ret = connect(sockfd, (const struct sockaddr *) &server_addr, sizeof(struct sockaddr_in)); if(ret == -1) { perror("[ERROR] connect()"); exit(EXIT_FAILURE); } send_data(sockfd); close(sockfd); return 0; } result【图片】





weixin_慕哥3021856 的学生作业:
#include using namespace std; void swap_quote(int &a, int &b) { int tmp = a; a = b; b = tmp; return; } void swap_pointer(int *a, int *b) { int tmp = *a; *a = *b; *b = tmp; return; } int main(void) { int n1 = 66, n2 = 99; int &qtn1 = n1; int &qtn2 = n2; int *pn1 = &n1; int *pn2 = &n2; swap_quote(qtn1, qtn2); cout





阿大月 的学生作业:
main.c #include "squelist.h" int main() { seqlist_t *l = create_empty_seqlist(); datatype_t st; int delete_ret; int delete_id; printf("请输入学生信息:\n"); while(is_full_seqlist(l)){ scanf("%s%d%d", st.name, &(st.id), &(st.age)); insert_data_seqlist(l, st); } printf_data_seqlist(l); printf("请输入要删除的学生的id:"); scanf("%d", &delete_id); delete_ret = delete_data_seqlist(l, delete_id); if (delete_ret == -2){ printf("没有这个学生的信息\n"); }else if(delete_ret == -1){ printf("学生信息为空\n"); }else{ printf("删除成功\n"); } printf_data_seqlist(l); return 0; } squelist.c #include "squelist.h" seqlist_t *create_empty_seqlist() { seqlist_t *l = (seqlist_t*)malloc(sizeof(seqlist_t)); if (NULL == l){ printf("malloc is failed\n"); return NULL; } memset(l, 0, sizeof(seqlist_t)); return l; } int is_full_seqlist(seqlist_t *l) { if (l->n >= MAX) return 0; return 1; } void insert_data_seqlist(seqlist_t *l,datatype_t data) { l->buf[l->n] = data; l->n++; } void printf_data_seqlist(seqlist_t *l) { int i = 0; printf("NAME\tID\tage\n"); for (i=0;in;i++){ printf("%s\t%d\t%d\n", (l->buf)[i].name, (l->buf)[i].id, (l->buf)[i].age); } } int is_empty_seqlist(seqlist_t *l) { return l->n > 0? 1: 0; } int delete_data_seqlist(seqlist_t *l, int id) { if (!is_empty_seqlist){ return -1; } int i, j=0; for (i=0;in;i++){ if ((l->buf)[i].id != id){ (l->buf)[j] = (l->buf)[i]; j++; } } if (i == j){ return -2; }else{ l->n = j; return 0; } } squelist.h #ifndef __SQUELIST_H__ #define __SQUELIST_H__ // 头文件中放的都是宏、结构体的定义声明,对应.c文件中的函数声明,全局变量的extren的声明 #include #include #include #define MAX 3 //实际学⽣的存储 struct student { char name[20]; int id; int age; }; typedef struct student datatype_t; typedef struct{ datatype_t buf[MAX]; //定义数组记录班级学⽣每个学⽣的信息。 int n; //学⽣实际到来的个数。 }seqlist_t; seqlist_t *create_empty_seqlist(); int is_full_seqlist(seqlist_t *l); void insert_data_seqlist(seqlist_t *l,datatype_t data); void printf_data_seqlist(seqlist_t *l); int is_empty_seqlist(seqlist_t *l); int delete_data_seqlist(seqlist_t *l, int id); #endif




