当前位置: 首页 > news >正文

年龄排序

题目:
image
样例:
image
代码部分:

include<stdio.h>

int main() {
int n; //人数
scanf_s("%d", &n);
//结构体信息采集
struct patient {
long id;
int age;
};
struct patient s1[10];
for (int i = 0; i < n; i++) {
scanf_s("%ld %d", &s1[i].id, &s1[i].age);
}
//判断
//先后判断
//年龄判断/排序
int arr1[10] = { 0 }; //年龄数组初始情况
int arr2[10]; //年龄数组排序情况
int temp = 0; //存储中间值
//大于等于60岁情况
for (int j = 0; j < n; j++) {
if (s1[j].age >= 60) {
arr1[j] = j; //存储顺序下标
}
else {
arr1[j] = -1; //age未达到60的情况,输出时跳过该i值
}
}
//比大小部分
int mid[10];
for (int i = 0; i < n; i++) {
mid[i] = -1; //初始化
}
int w = 0;
for (int i = 0; i < n; i++) {
for (int j = w; j < n; j++) {
if (arr1[j] != -1) {
mid[i] = j;
w = ++j;
break;
}
}
}
//调换顺序

for (int i = 0; i < n - 1; i++) {if (s1[mid[i + 1]].age > s1[mid[i]].age) {int t = mid[i];mid[i] = mid[i + 1];mid[i + 1] = t;i = -1;   //重置i值,重新开始排序          //这个可以代替嵌套循环排序}
}//大于等于60岁排序
for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (mid[j] != -1) {arr2[i] = mid[j];   //存储顺序下标mid[j] = -1;   //age已存储,置-1防止重复存储temp = i;break;}}
}
//非大于等于60岁情况的排序
int k = 0;   //记录非大于等于60岁情况的起始下标
for (int i = temp + 1; i < n; i++) {for (int j = k; j < n; j++) {if (s1[j].age < 60) {arr2[i] = j;   //存储顺序下标k = ++j;   //更新k值,防止重复存储break;}}
}
//输出结果
putchar('\n');
for (int i = 0; i < n; i++) {printf("%06ld\n", s1[arr2[i]].id);
}
return 0;

}
输出:
c7826e1a7464a97fc0c56859bb6b9ae7
个人感受:
这次敲代码让我意识到了一个问题:我需要格式化设置变量、位置关系,因为我经常想到什么写什么,堆砌了一堆垃圾变量,在整合代码的时候浪费了不少时间

http://www.hskmm.com/?act=detail&tid=26138

相关文章:

  • 二分图最大匹配 输出具体方案
  • 我的联想小新潮7000笔记本的优化
  • Go语言之接口与多态 -《Go语言实战指南》 - 指南
  • 地球科学概论
  • 2025多校冲刺CSP模拟赛4 总结
  • 多路归并、败者树、置换-选择排序、最佳归并树
  • 看vue文档记录(未整理)
  • Spring5笔记
  • 50天50个前端项目 - HTML/CSS和JavaScript实战合集
  • [BalticOI 2002] Tennis Club (Day1) 解题报告
  • 党徽
  • ZKEACMS:基于ASP.Net Core开发的开源免费内容管理系统
  • MySQL面试题汇总
  • 穷人的中国象棋打谱程序
  • 文件系统的层次结构
  • oracle 19c学习笔记2
  • 文件保护
  • 一些数数杂题
  • AI元人文:规则与人文的统一之路
  • 10.7
  • qmd 模拟赛的一道题
  • 四元数:从理论基础到实际应用的深度探索 - 教程
  • Day12
  • HoneyWell(霍尼韦尔)1450g扫码枪说明书
  • 课上动手东脑问题
  • 箭头函数的疑问
  • 文件共享
  • 【万字长文】让面试没有难撕的JS基础题
  • Java总览
  • PCoT: Persuasion-Augmented Chain of Thought for Detecting Fake News and Social Media Disinformation