1015. 德才论 (25)
2016-02-10 21:34
253 查看
题目:http://www.patest.cn/contests/pat-b-practise/1015
代码:
本题还有些问题,vs上结果都对的,pat跑出来有几个段错误,暂时查不出问题,过段时间再做做看
代码:
#include <stdio.h> int main() { int n,l,h,k,q,m; long a[100][5],b[100][4],temp; int i,j,total_num=0; scanf("%d %d %d",&n,&l,&h); //输入,并且计算类此和各个总分 for (i=0;i<n;i++) { for (j=0;j<3;j++) scanf("%d",&a[i][j]); if (a[i][1]>=l&&a[i][2]>=l) { if (a[i][1]>=h&&a[i][2]>=h) a[i][3] = 1; else if (a[i][1]>=h&&a[i][2]<h) a[i][3] = 2; else if(a[i][1]<h&&a[i][2]<h&&(a[i][1]>=a[i][2])) a[i][3] = 3; else a[i][3] = 4; } else a[i][3] = 0; a[i][4] = a[i][1] + a[i][2]; } //输出几个合格 for (i=0;i<n;i++) { if (a[i][3]!=0) total_num++; } printf("%d\n",total_num); //按照1,2,3,4四挡依次输出 for (m=1;m<=4;m++) { j = 0; for (i=0;i<n;i++) { if(a[i][3]==m) { b[j][0] = a[i][0]; b[j][1] = a[i][1]; b[j][2] = a[i][2]; b[j][3] = a[i][4]; j++; } } for (i=0;i<j;i++) { for (k=i+1;k<j;k++) { if (b[i][3]<b[k][3]) { for (q=0;q<4;q++) { temp = b[i][q]; b[i][q] = b[k][q]; b[k][q] = temp; } } else if (b[i][3]==b[k][3]) { if (b[i][1]<b[k][1]) { for (q=0;q<4;q++) { temp = b[i][q]; b[i][q] = b[k][q]; b[k][q] = temp; } } else if (b[i][1]==b[k][1]) { if (b[i][0]>b[k][0]) { for (q=0;q<4;q++) { temp = b[i][q]; b[i][q] = b[k][q]; b[k][q] = temp; } } } } } } for (i=0;i<j;i++) printf("%ld %d %d\n",b[i][0],b[i][1],b[i][2]); } return 0; }
本题还有些问题,vs上结果都对的,pat跑出来有几个段错误,暂时查不出问题,过段时间再做做看
相关文章推荐
- 1014. 福尔摩斯的约会 (20)
- [LeetCode]324. Wiggle Sort II
- Codeforces Round #342 (Div. 2)总结
- 1013. 数素数 (20)
- 笔记
- 1012. 数字分类 (20)
- 浅析Java基于Socket的文件传输案例
- 1011. A+B和C (15)
- Linux创建目录和文件管理
- 【POJ1743】Musical Theme【后缀数组】【二分】
- 1010. 一元多项式求导 (25)
- curl命令的使用
- 1009. 说反话 (20)
- React Native 开发。
- 1008. 数组元素循环右移问题 (20)
- 1007. 素数对猜想 (20)
- YTU 2559: “心脏出血”
- GCC passes分析(一)
- ls指令详解
- 1006. 换个格式输出整数 (15)