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

作业社区

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

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

胡汉三66 的学生作业:

#include /* See NOTES */ #include // socket() sendto() #include #include // inet_addr() htons() #include // memset() #include // fgets() #include // close() #include // exit() void send_data(int sockfd,struct sockaddr_in *addr,int len){ int n = 0; char buf[1024] = {0}; FILE *file = fopen("log.txt","r"); // 以 只读模式 打开 "log.txt" 文件 if(file == NULL){ perror("Failed to open file"); exit(EXIT_FAILURE); } while(1){ memset(buf,0,sizeof(buf)); // 重置 buf空间为 0 if(fgets(buf,sizeof(buf),file) == NULL){ // 获取 文件中"log.txt"信息 保存到 buf中 break; // 如果 文件读取为空, 跳出 while循环 } buf[strlen(buf) - 1] = '\0'; // '\n'--->'\0' n = sendto(sockfd,buf,strlen(buf),0,(struct sockaddr *)addr,len); // 发送 buf信息 到目标地址 if(n < 0){ perror("Fail to sendto"); fclose(file); // 关闭 文件指针 exit(EXIT_FAILURE); } } fclose(file); // 关闭 文件指针 return ; } // ./a.out ip port int main(int argc, const char *argv[]) { int sockfd; struct sockaddr_in peer_addr; // 目标地址结构体 int len = sizeof(peer_addr); if(argc != 3){ fprintf(stderr,"Usage : %s ip port!\n",argv[0]); exit(EXIT_FAILURE); } // 1.通过socket创建文件描述符 sockfd = socket(AF_INET,SOCK_DGRAM,0); if(sockfd < 0){ perror("Fail to socket!"); return -1; } // 2.填充服务器的ip + port memset(&peer_addr,0,sizeof(peer_addr)); // 重置 peer_addr空间为 0 peer_addr.sin_family = AF_INET; // 设置 协议族(IP4) peer_addr.sin_port = htons(atoi(argv[2])); // 设置 目标网络端口 peer_addr.sin_addr.s_addr = inet_addr(argv[1]); // 设置 目标网络IP // 3.发送数据 send_data(sockfd,&peer_addr,len); // 4.关闭文件描述符 close(sockfd); return 0; } 【图片】

得分 100
学习任务

浪潮君 的学生作业:

#include // 定义一个结构体类型 s_t,用来表示一个学生的信息 typedef struct { char name[20]; // 学生姓名,最多19个字符 + 1个'\0'结尾 int id; // 学号 int score; // 成绩 } s_t; // 函数:输入学生信息 // 参数:s[] 是结构体数组,n 是学生数量 void input_student(s_t s[], int n) { for (int i = 0; i < n; i++) { printf("请输入第 %d 个学生的 姓名 学号 成绩:", i + 1); scanf("%s %d %d", s[i].name, &s[i].id, &s[i].score); } } // 函数:输出学生信息 // 参数:s[] 是结构体数组,n 是学生数量 void output_student(s_t s[], int n) { printf("\n学生信息如下:\n"); for (int i = 0; i < n; i++) { printf("学生 %d - 姓名: %s,学号: %d,成绩: %d\n", i + 1, s[i].name, s[i].id, s[i].score); } } // 函数:查找分数最高的学生在数组中的索引 // 参数:s[] 是结构体数组,n 是学生数量 // 返回值:分数最高学生的索引 int maxscore_student(s_t s[], int n) { int max_index = 0; // 初始设第0个为最高分 for (int i = 1; i < n; i++) { if (s[i].score > s[max_index].score) { max_index = i; // 更新最高分学生的索引 } } return max_index; } // 主函数 int main() { s_t s[3]; // 声明一个结构体数组,存放3个学生的信息 input_student(s, 3); // 调用函数输入学生信息 output_student(s, 3); // 调用函数输出学生信息 int top = maxscore_student(s, 3); // 获取分数最高学生的索引 // 输出分数最高学生的信息 printf("\n分数最高的学生是:%s,学号:%d,成绩:%d\n", s[top].name, s[top].id, s[top].score); return 0; // 程序结束 }

得分 100
学习任务

浪潮君 的学生作业:

#include // 引入标准输入输出头文件 // 定义一个结构体类型 student,并初始化一个变量 st1 struct student { char name[20]; // 学生姓名 int id; // 学生ID int score; // 学生成绩 } st1 = {“jack”, 1, 100}; // 初始化结构体变量 st1 int main() { // 定义并初始化结构体数组 st,包含 3 个学生信息 struct student st[3] = { {“Rose”, 2, 70}, {“Mike”, 3, 60}, {“Hamilton”, 4, 50} }; // 输出结构体变量 st1 的成员 printf("Name: %s\n", st1.name); printf("Id: %d\n", st1.id); printf("Score: %d\n", st1.score); // 遍历并输出结构体数组 st 中所有学生的信息 for (int i = 0; i < 3; i++) { printf("\nList to Student %d\n", i + 1); printf(" Name: %s\n", st[i].name); printf(" Id: %d\n", st[i].id); printf(" Score: %d\n", st[i].score); } // 让用户输入一个 ID,用于查找学生信息 int input_id; printf("\nEnter an ID to search: "); scanf("%d", &input_id); // 从键盘读取用户输入的 ID int found = 0; // 标志变量,表示是否找到对应 ID // 遍历结构体数组,查找是否存在输入的 ID for (int i = 0; i < 3; i++) { if (st[i].id == input_id) { // 如果找到匹配的 ID printf("ID found! Name: %s\n", st[i].name); // 输出对应的姓名 found = 1; // 设置 found 为 1,表示找到了 break; // 结束查找 } } // 如果没有找到 ID,提示 "No Exist!" if (found != 1) printf("No Exist!\n"); return 0; // 程序正常结束 }

微信客服

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

帮助反馈 APP下载

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

公众号

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