第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

作業(yè)社區(qū)

探索學(xué)習(xí)新天地,共享知識(shí)資源!

0 提交作業(yè)
0個(gè) 布置作業(yè)
0 滿分作業(yè)
得分 100
討論題

浪潮君 的學(xué)生作業(yè):

#include #include // ============================== // 結(jié)構(gòu)體定義:?jiǎn)蜗蜴湵砉?jié)點(diǎn)結(jié)構(gòu) // ============================== typedef struct Node { int id; // 當(dāng)前人的編號(hào) struct Node* next; // 指向下一個(gè)人的指針 } Node; // ===================================================== // 函數(shù):創(chuàng)建一個(gè)長(zhǎng)度為 n 的單向循環(huán)鏈表(不帶頭結(jié)點(diǎn)) // 返回值:指向第一個(gè)節(jié)點(diǎn)(編號(hào)為 1)的指針 // ===================================================== Node* create_circle(int n) { Node *head = NULL, *prev = NULL; for (int i = 1; i id = i; // 設(shè)置編號(hào) node->next = NULL; // 初始化 next if (!head) { head = node; // 第一個(gè)節(jié)點(diǎn)作為頭指針 } else { prev->next = node; // 前一個(gè)節(jié)點(diǎn)指向當(dāng)前節(jié)點(diǎn) } prev = node; // 更新 prev 指針 } prev->next = head; // 構(gòu)成循環(huán)鏈表(最后一個(gè)節(jié)點(diǎn)指向頭節(jié)點(diǎn)) return head; } // ===================================================== // 函數(shù):實(shí)現(xiàn)約瑟夫問題出列邏輯 // 參數(shù): // n - 總?cè)藬?shù) // k - 從第幾個(gè)人開始數(shù) // m - 每次報(bào)數(shù)到第幾個(gè)人出列 // ===================================================== void josephus(int n, int k, int m) { Node* head = create_circle(n); // 創(chuàng)建循環(huán)鏈表 Node* prev = head; // 找到起始編號(hào)為 k 的節(jié)點(diǎn):prev->next->id == k while (prev->next->id != k) { prev = prev->next; } Node* curr = prev->next; // curr 指向編號(hào)為 k 的節(jié)點(diǎn) printf("出列順序: "); while (n--) { // 從 curr 開始數(shù) m-1 個(gè),找到第 m 個(gè)出列者 for (int i = 1; i < m; i++) { prev = curr; curr = curr->next; } // 打印出列編號(hào) printf("%d ", curr->id); // 刪除 curr 節(jié)點(diǎn)(即出列的人) prev->next = curr->next; // 斷開當(dāng)前節(jié)點(diǎn) free(curr); // 釋放內(nèi)存 curr = prev->next; // 繼續(xù)從下一個(gè)人開始數(shù) } printf("\n"); } // ================ // 程序主函數(shù)入口 // ================ int main() { int n = 8; // 總?cè)藬?shù) int k = 3; // 從編號(hào) 3 開始數(shù) int m = 4; // 數(shù)到第 4 個(gè)出列 josephus(n, k, m); // 執(zhí)行約瑟夫出列過程 return 0; }

得分 100
學(xué)習(xí)任務(wù)

浪潮君 的學(xué)生作業(yè):

#include // 標(biāo)準(zhǔn)輸入輸出 #include // exit、malloc 等函數(shù) #include // 字符串處理 #include // close、read、write 等系統(tǒng)調(diào)用 #include // socket 地址結(jié)構(gòu)與轉(zhuǎn)換函數(shù) #include // 文件控制(未用到可選) #include // socket 編程核心頭文件 #define PORT 8080 // 服務(wù)器監(jiān)聽端口號(hào) #define BUFFER_SIZE 4096 // 緩沖區(qū)大小 int main() { int server_fd, client_fd; struct sockaddr_in addr; // 服務(wù)器地址結(jié)構(gòu) socklen_t addrlen = sizeof(addr); char buffer[BUFFER_SIZE]; // 用于接收請(qǐng)求、讀取文件的緩沖區(qū) // 1. 創(chuàng)建 TCP socket,AF_INET: IPv4,SOCK_STREAM: 面向連接 server_fd = socket(AF_INET, SOCK_STREAM, 0); if (server_fd < 0) { perror("socket 創(chuàng)建失敗"); exit(1); } // 2. 設(shè)置地址端口復(fù)用(防止端口 TIME_WAIT 占用) int opt = 1; setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); // 3. 設(shè)置服務(wù)器地址信息 memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; // IPv4 addr.sin_addr.s_addr = INADDR_ANY; // 本地任意地址 0.0.0.0 addr.sin_port = htons(PORT); // 端口轉(zhuǎn)為網(wǎng)絡(luò)字節(jié)序 // 4. 綁定 socket 到地址和端口 if (bind(server_fd, (struct sockaddr*)&addr, sizeof(addr)) < 0) { perror("bind 失敗"); close(server_fd); exit(1); } // 5. 開始監(jiān)聽端口,最大連接隊(duì)列長(zhǎng)度為 10 if (listen(server_fd, 10) < 0) { perror("listen 失敗"); close(server_fd); exit(1); } printf("服務(wù)器啟動(dòng)成功,監(jiān)聽端口 %d...\n", PORT); // 6. 主循環(huán):不斷接收客戶端連接 while (1) { client_fd = accept(server_fd, (struct sockaddr*)&addr, &addrlen); if (client_fd < 0) { perror("accept 失敗"); continue; } // 7. 接收客戶端發(fā)送的 HTTP 請(qǐng)求 ssize_t len = recv(client_fd, buffer, BUFFER_SIZE - 1, 0); if (len 0) { send(client_fd, buffer, len, 0); // 按塊發(fā)送文件內(nèi)容 } // 11. 清理資源 fclose(fp); close(client_fd); } // 12. 關(guān)閉服務(wù)器 socket close(server_fd); return 0; }

得分 100
學(xué)習(xí)任務(wù)

浪潮君 的學(xué)生作業(yè):

#include #include #include #include #include #include #include void print_pixel_format(__u32 pixelformat) { char fmt[5] = {0}; fmt[0] = pixelformat & 0xff; fmt[1] = (pixelformat >> 8) & 0xff; fmt[2] = (pixelformat >> 16) & 0xff; fmt[3] = (pixelformat >> 24) & 0xff; printf("像素格式: %s\n", fmt); } int main() { const char *device = "/dev/video0"; int fd = open(device, O_RDWR); if (fd < 0) { perror("打開攝像頭失敗"); return 1; } // 查詢攝像頭能力集 struct v4l2_capability cap; if (ioctl(fd, VIDIOC_QUERYCAP, &cap) < 0) { perror("查詢攝像頭能力失敗"); close(fd); return 1; } printf("攝像頭名稱: %s\n", cap.card); printf("驅(qū)動(dòng)名稱: %s\n", cap.driver); printf("總線信息: %s\n", cap.bus_info); if (!(cap.capabilities & V4L2_CAP_VIDEO_CAPTURE)) { printf("該設(shè)備不支持視頻采集。\n"); close(fd); return 1; } // 查詢支持的像素格式 printf("\n支持的像素格式與分辨率:\n"); struct v4l2_fmtdesc fmt; memset(&fmt, 0, sizeof(fmt)); fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; while (ioctl(fd, VIDIOC_ENUM_FMT, &fmt) == 0) { print_pixel_format(fmt.pixelformat); printf("說明: %s\n", fmt.description); // 查詢?cè)撓袼馗袷较轮С值姆直媛? struct v4l2_frmsizeenum frmsize; memset(&frmsize, 0, sizeof(frmsize)); frmsize.pixel_format = fmt.pixelformat; while (ioctl(fd, VIDIOC_ENUM_FRAMESIZES, &frmsize) == 0) { if (frmsize.type == V4L2_FRMSIZE_TYPE_DISCRETE) { printf(" %ux%u\n", frmsize.discrete.width, frmsize.discrete.height); } frmsize.index++; } fmt.index++; printf("-------------------------\n"); } close(fd); return 0; }

得分 100
學(xué)習(xí)任務(wù)

浪潮君 的學(xué)生作業(yè):

服務(wù)端 #include // 標(biāo)準(zhǔn)輸入輸出 #include // malloc、exit 等 #include // memset、strlen #include // close、read、write 等系統(tǒng)調(diào)用 #include // IP 地址轉(zhuǎn)換函數(shù) #include // 套接字編程相關(guān)結(jié)構(gòu)和函數(shù) #define SERVER_PORT 8890 // 服務(wù)器監(jiān)聽端口號(hào) #define BACKLOG 5 // 最大連接等待隊(duì)列長(zhǎng)度 #define BUFFER_SIZE 1024 // 文件傳輸緩沖區(qū)大小 // 處理客戶端發(fā)送的文件并將其保存到本地磁盤 void receive_file(int conn_fd) { int name_len; // 用于接收文件名的長(zhǎng)度 char filename[256]; // 保存接收到的文件名 long filesize; // 文件大?。▎挝唬鹤止?jié)) // 1. 接收文件名長(zhǎng)度(int 類型,4 字節(jié)) recv(conn_fd, &name_len, sizeof(int), 0); // 2. 接收文件名(不含路徑) recv(conn_fd, filename, name_len, 0); filename[name_len] = '\0'; // 添加字符串結(jié)束符 printf("接收文件名:%s\n", filename); // 3. 接收文件大?。╨ong 類型,8 字節(jié)) recv(conn_fd, &filesize, sizeof(long), 0); printf("文件大?。?ld 字節(jié)\n", filesize); // 4. 打開目標(biāo)文件,準(zhǔn)備寫入內(nèi)容 FILE *fp = fopen(filename, "wb"); if (!fp) { perror("無法創(chuàng)建文件"); return; } // 5. 接收文件內(nèi)容并寫入文件 char buffer[BUFFER_SIZE]; long received = 0; while (received < filesize) { ssize_t len = recv(conn_fd, buffer, sizeof(buffer), 0); if (len 0) { send(sockfd, buffer, read_bytes, 0); // 每次發(fā)送一段 } fclose(fp); // 關(guān)閉文件 printf("文件發(fā)送完成。\n"); } int main() { // 創(chuàng)建客戶端 socket int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { perror("socket 創(chuàng)建失敗"); return 1; } // 設(shè)置服務(wù)器地址結(jié)構(gòu)體 struct sockaddr_in server_addr; memset(&server_addr, 0, sizeof(server_addr)); // 清空結(jié)構(gòu)體 server_addr.sin_family = AF_INET; // IPv4 server_addr.sin_port = htons(SERVER_PORT); // 設(shè)置端口 // 轉(zhuǎn)換 IP 地址為網(wǎng)絡(luò)格式 if (inet_pton(AF_INET, SERVER_IP, &server_addr.sin_addr)

得分 100
學(xué)習(xí)任務(wù)

浪潮君 的學(xué)生作業(yè):

服務(wù)端 #include // 標(biāo)準(zhǔn)輸入輸出 #include // malloc、exit 等 #include // memset、strlen #include // close、read、write 等系統(tǒng)調(diào)用 #include // IP 地址轉(zhuǎn)換函數(shù) #include // 套接字編程相關(guān)結(jié)構(gòu)和函數(shù) #define SERVER_PORT 8890 // 服務(wù)器監(jiān)聽端口號(hào) #define BACKLOG 5 // 最大連接等待隊(duì)列長(zhǎng)度 #define BUFFER_SIZE 1024 // 文件傳輸緩沖區(qū)大小 // 處理客戶端發(fā)送的文件并將其保存到本地磁盤 void receive_file(int conn_fd) { int name_len; // 用于接收文件名的長(zhǎng)度 char filename[256]; // 保存接收到的文件名 long filesize; // 文件大?。▎挝唬鹤止?jié)) // 1. 接收文件名長(zhǎng)度(int 類型,4 字節(jié)) recv(conn_fd, &name_len, sizeof(int), 0); // 2. 接收文件名(不含路徑) recv(conn_fd, filename, name_len, 0); filename[name_len] = '\0'; // 添加字符串結(jié)束符 printf("接收文件名:%s\n", filename); // 3. 接收文件大?。╨ong 類型,8 字節(jié)) recv(conn_fd, &filesize, sizeof(long), 0); printf("文件大?。?ld 字節(jié)\n", filesize); // 4. 打開目標(biāo)文件,準(zhǔn)備寫入內(nèi)容 FILE *fp = fopen(filename, "wb"); if (!fp) { perror("無法創(chuàng)建文件"); return; } // 5. 接收文件內(nèi)容并寫入文件 char buffer[BUFFER_SIZE]; long received = 0; while (received < filesize) { ssize_t len = recv(conn_fd, buffer, sizeof(buffer), 0); if (len 0) { send(sockfd, buffer, read_bytes, 0); // 每次發(fā)送一段 } fclose(fp); // 關(guān)閉文件 printf("文件發(fā)送完成。\n"); } int main() { // 創(chuàng)建客戶端 socket int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { perror("socket 創(chuàng)建失敗"); return 1; } // 設(shè)置服務(wù)器地址結(jié)構(gòu)體 struct sockaddr_in server_addr; memset(&server_addr, 0, sizeof(server_addr)); // 清空結(jié)構(gòu)體 server_addr.sin_family = AF_INET; // IPv4 server_addr.sin_port = htons(SERVER_PORT); // 設(shè)置端口 // 轉(zhuǎn)換 IP 地址為網(wǎng)絡(luò)格式 if (inet_pton(AF_INET, SERVER_IP, &server_addr.sin_addr)

得分 100
學(xué)習(xí)任務(wù)

浪潮君 的學(xué)生作業(yè):

服務(wù)端 #include // 標(biāo)準(zhǔn)輸入輸出 #include // malloc、exit 等 #include // memset、strlen #include // close、read、write 等系統(tǒng)調(diào)用 #include // IP 地址轉(zhuǎn)換函數(shù) #include // 套接字編程相關(guān)結(jié)構(gòu)和函數(shù) #define SERVER_PORT 8890 // 服務(wù)器監(jiān)聽端口號(hào) #define BACKLOG 5 // 最大連接等待隊(duì)列長(zhǎng)度 #define BUFFER_SIZE 1024 // 文件傳輸緩沖區(qū)大小 // 處理客戶端發(fā)送的文件并將其保存到本地磁盤 void receive_file(int conn_fd) { int name_len; // 用于接收文件名的長(zhǎng)度 char filename[256]; // 保存接收到的文件名 long filesize; // 文件大?。▎挝唬鹤止?jié)) // 1. 接收文件名長(zhǎng)度(int 類型,4 字節(jié)) recv(conn_fd, &name_len, sizeof(int), 0); // 2. 接收文件名(不含路徑) recv(conn_fd, filename, name_len, 0); filename[name_len] = '\0'; // 添加字符串結(jié)束符 printf("接收文件名:%s\n", filename); // 3. 接收文件大小(long 類型,8 字節(jié)) recv(conn_fd, &filesize, sizeof(long), 0); printf("文件大小:%ld 字節(jié)\n", filesize); // 4. 打開目標(biāo)文件,準(zhǔn)備寫入內(nèi)容 FILE *fp = fopen(filename, "wb"); if (!fp) { perror("無法創(chuàng)建文件"); return; } // 5. 接收文件內(nèi)容并寫入文件 char buffer[BUFFER_SIZE]; long received = 0; while (received < filesize) { ssize_t len = recv(conn_fd, buffer, sizeof(buffer), 0); if (len 0) { send(sockfd, buffer, read_bytes, 0); // 每次發(fā)送一段 } fclose(fp); // 關(guān)閉文件 printf("文件發(fā)送完成。\n"); } int main() { // 創(chuàng)建客戶端 socket int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { perror("socket 創(chuàng)建失敗"); return 1; } // 設(shè)置服務(wù)器地址結(jié)構(gòu)體 struct sockaddr_in server_addr; memset(&server_addr, 0, sizeof(server_addr)); // 清空結(jié)構(gòu)體 server_addr.sin_family = AF_INET; // IPv4 server_addr.sin_port = htons(SERVER_PORT); // 設(shè)置端口 // 轉(zhuǎn)換 IP 地址為網(wǎng)絡(luò)格式 if (inet_pton(AF_INET, SERVER_IP, &server_addr.sin_addr)

得分 100
學(xué)習(xí)任務(wù)

浪潮君 的學(xué)生作業(yè):

服務(wù)端 #include // 標(biāo)準(zhǔn)輸入輸出 #include // malloc、exit 等 #include // memset、strlen #include // close、read、write 等系統(tǒng)調(diào)用 #include // IP 地址轉(zhuǎn)換函數(shù) #include // 套接字編程相關(guān)結(jié)構(gòu)和函數(shù) #define SERVER_PORT 8890 // 服務(wù)器監(jiān)聽端口號(hào) #define BACKLOG 5 // 最大連接等待隊(duì)列長(zhǎng)度 #define BUFFER_SIZE 1024 // 文件傳輸緩沖區(qū)大小 // 處理客戶端發(fā)送的文件并將其保存到本地磁盤 void receive_file(int conn_fd) { int name_len; // 用于接收文件名的長(zhǎng)度 char filename[256]; // 保存接收到的文件名 long filesize; // 文件大?。▎挝唬鹤止?jié)) // 1. 接收文件名長(zhǎng)度(int 類型,4 字節(jié)) recv(conn_fd, &name_len, sizeof(int), 0); // 2. 接收文件名(不含路徑) recv(conn_fd, filename, name_len, 0); filename[name_len] = '\0'; // 添加字符串結(jié)束符 printf("接收文件名:%s\n", filename); // 3. 接收文件大小(long 類型,8 字節(jié)) recv(conn_fd, &filesize, sizeof(long), 0); printf("文件大?。?ld 字節(jié)\n", filesize); // 4. 打開目標(biāo)文件,準(zhǔn)備寫入內(nèi)容 FILE *fp = fopen(filename, "wb"); if (!fp) { perror("無法創(chuàng)建文件"); return; } // 5. 接收文件內(nèi)容并寫入文件 char buffer[BUFFER_SIZE]; long received = 0; while (received < filesize) { ssize_t len = recv(conn_fd, buffer, sizeof(buffer), 0); if (len 0) { send(sockfd, buffer, read_bytes, 0); // 每次發(fā)送一段 } fclose(fp); // 關(guān)閉文件 printf("文件發(fā)送完成。\n"); } int main() { // 創(chuàng)建客戶端 socket int sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) { perror("socket 創(chuàng)建失敗"); return 1; } // 設(shè)置服務(wù)器地址結(jié)構(gòu)體 struct sockaddr_in server_addr; memset(&server_addr, 0, sizeof(server_addr)); // 清空結(jié)構(gòu)體 server_addr.sin_family = AF_INET; // IPv4 server_addr.sin_port = htons(SERVER_PORT); // 設(shè)置端口 // 轉(zhuǎn)換 IP 地址為網(wǎng)絡(luò)格式 if (inet_pton(AF_INET, SERVER_IP, &server_addr.sin_addr)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)