如何用C语言结构体实现至少5个用户的登录系统
请给位大佬帮帮忙
2条回答 默认 最新
- a_big_oier 2021-08-30 22:20关注
//希望我的回答对你的学习有帮助,请采纳 #include <stdio.h> #include <string.h> struct Student { char Name[10]; //学生的姓名,使用字符数组存储,长度为 10 char PhoneNumber[15]; //学生的电话号,使用字符数组存储,长度为 15 }stu[5], temp; //结构体数组,长度为 5,用来存放 5 个学生的信息 //临时变量,用在冒泡排序的过程中交换数据 int main() { for (int i = 0; i < 5; i++) //输入 5 个学生的基本信息 { scanf_s("%s %s", stu[i].Name, 10, &stu[i].PhoneNumber, 15); //输入字符串,使用 %s 标记。其中每个字符串使用“空格”分开 //如果输入的字符串包含“空格”,使用 gets 函数 } for (int i = 0; i < 4; i++) //冒泡排序,外层循环只需要循环(长度 - 1)次 //因为剩下最后一个数据不需要比较 { for (int j = 0; j < 4 - i; j++) //第一次循环,比较的次数为(长度 - 1) //每次循环的次数都在缩小 //因为每次循环之后,最值已经放在了数组的尾部 //所以在下一次循环时,就可以排除这个最值,把比较的范围 { if (strcmp(stu[j].Name, stu[j + 1].Name) > 0) //strcmp 由定义得到,它就是一个根据Ascii码,对字符串比较的函数 //如果strcmp 返回 0 ,证明两个字符串 相等 //如果strcmp 返回 - ,证明第一个字符串比第二个字符串小 //这个小,是指在两个字符串中第一个不相同的字符在 Ascii码表中的相对位置 //如果strcmp 返回 + ,证明第一个字符串比第二个字符串大 //这个大,是指在两个字符串中第一个不相同的字符在 Ascii码表中的相对位置 { temp = stu[j]; //进行数据交换 stu[j] = stu[j + 1]; stu[j + 1] = temp; } } } for (int i = 0; i < 5; i++) //输出 5 个学生的基本信息 { printf("%s %s\n", stu[i].Name,stu[i].PhoneNumber); } getchar(); getchar(); return 0; }
不懂可以追问
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 matlab中使用gurobi时报错
- ¥15 WPF 大屏看板表格背景图片设置
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂