C语言结构体题,求教大佬

%2d是格式化左对齐,共两位不足补空格,超过两位显示实际位数;

第二空应该是这个结构体数组里x元素最大的那个下标即{5,-1}的下标,05;

这个循环是用来找出在next为-1的结构體数组中x元素最大的下标的

每次它都是去取next为-1中最大的下标,其实这个两层循环就是用来排序的从大到小

head存储的是x值最大的下标,last是當前最小的下标

那个next其实就是一个排序用到的标志而已,因为next开始都是-1所以第一次找到最大的下标为1,就是{5-1}那个结构体,head和last初始化為1这个下标注意此后head再未变过。

现在应该清楚些了吧这个struct node其实就是仿照链表来做的,首先排好序next就是下一个数组的下标值

还有,程序里的if和else所执行的语句块最好用{}封装起来不然程序可读性很差,我刚才就看错了==

*我是纯人工计算分析加码字,看了还不清楚再问

类似于这种DS的题蛮多的写了一個模板,没准以后用得到

编完整程序包括职工信息,定义(职工号姓名,性别年龄,工龄)
1.输入职工人数5项信息
2.统计年龄超过60岁嘚人数
3.查找(输职工号,输出员工)
4.排序(按工龄降序排序)

printf("请输入第%d个职工的职工号、姓名、性别、年龄、工龄(按顺序,用空格隔开)\n", i); printf("\n按工齡降序排序(包含所有员工信息): ");

我要回帖

 

随机推荐