1184:平面点排序(二)&1185:添加记录(结构体专题)

ICPC--1184: 平面点排序(二)(结构体专题)题目描述平面上有n个点 , 坐标均为整数 。 横坐标相同时按纵坐标排序 , 否则按横坐标排序 。 本题要求用结构体存储坐标 , 再进行排序 。 先升序排序输出 , 再降序排序输出 , 可以自己写排序函数 , 也可以用qsort库函数排序 。
输入第一行是整数n(1<=n<=100) , 表示接下来有n行 , 每行两个整数 , 表示平面上一个点的坐标 。
输出输出有两行 , 即排序后的点 , 格式为(u,v) , 每个点后有一个空格 。 第一行升序排序结果 , 第二行降序排序结果 。
样例输入41 32 51 44 1样例输出(1,3) (1,4) (2,5) (4,1) (4,1) (2,5) (1,4) (1,3) 代码#includestruct F{int x,y;}a[100];int main(){int n,i,j,t;scanf("%d",for(i=0;iICPC--1185: 添加记录(结构体专题)题目描述有一学生成绩表 , 包括学号、姓名、3门课程成绩 。 已知该成绩表按学号升序排序 。 请编程实现 , 添加一个新的学生信息 , 且使成绩表仍按学号有序;若待添加的学号与已有学号重复 , 则输出错误信息 , 拒绝添加 。
输入首先输入一个整数n(1<=n<=100) , 表示学生人数; 然后输入n行 , 每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位) , 以及3个整数 , 表示3门课成绩 , 数据之间用空格隔开 。最后一行输入一个待添加的学生信息 , 包括学号、姓名和3门课成绩
输出若待添加的学号与已有学号重复 , 则输出只有一行“error!”;否则 , 输出n+1行 , 即添加后的成绩单信息 。
样例输入【1184:平面点排序(二)&1185:添加记录(结构体专题)】3541207010188 Zhangling 78 95 55541207010189 Wangli 87 99 88541207010191 Fangfang 68 76 75541207010190 Lilei 68 79 82样例输出541207010188 Zhangling 78 95 55541207010189 Wangli 87 99 88541207010190 Lilei 68 79 82541207010191 Fangfang 68 76 75代码#include#define swap(a,b,t){t=a;a=b;b=t;}typedef struct student{long long int ID;char name[20];int a,b,c;}STU;int main(){STU stu[100],stu1,t;int n,j,i;int flag=0;scanf("%d",for(i=0;istu[j].ID)swap(stu[i],stu[j],t);}}//升序for(i=0;i