第四章-结构体
来源:互联网 发布:php防止ddos 编辑:程序博客网 时间:2024/05/17 04:48
4.1 scores
#include<iostream> #include<stdio.h> #include<string> using namespace std; struct student { int classnum; int number; int score; }stu[2010]; int main() { int i,j; int n; cin >>n; for(i = 0;i<n;i++) cin >> stu[i].classnum >>stu[i].number>>stu[i].score; int max = 0; for(i = 0;i<n;i++) { for(j = i+1;j<n;j++) { if(stu[j].score>stu[i].score) { student t; t = stu[j]; stu[j] = stu[i]; stu[i] = t; } else if(stu[j].score == stu[i].score && stu[j].classnum<stu[i].classnum) { student t; t = stu[j]; stu[j] = stu[i]; stu[i] = t; } else if(stu[j].score == stu[i].score && stu[j].classnum == stu[i].classnum && stu[j].number < stu[i].number) { student t; t = stu[j]; stu[j] = stu[i]; stu[i] = t; } } } for(i = 0;i<n;i++) { cout <<stu[i].classnum<<" "<<stu[i].number<<" "<<stu[i].score<<endl; } return 0; }
4.2 milk
#include<iostream> #include<stdio.h> #include<string> using namespace std; struct drink { string name; double price; int ml; double re; }milk[10086]; int main() { int i,j; int n; cin >>n; int t; for(i = 0; i < n; i++) { cin >> milk[i].name >> milk[i].price >> milk[i].ml; t = milk[i].ml/200; if(t < 5) milk[i].re = (double)t/milk[i].price; else milk[i].re = 5.0/milk[i].price; } double max = milk[0].re; int maxnum = 0; for(i = 0;i < n;i++) { if(milk[i].re > max) { max = milk[i].re; maxnum = i; } if(milk[i].re == max) { if(milk[i].ml > milk[maxnum].ml) maxnum = i; } } cout<< milk[maxnum].name<<endl; return 0; }
4.3 circle
#include<iostream> #include<stdio.h> #include<string> using namespace std; struct people { int b; //前一人 int bb; //前前一人 }per[30030]; int main() { int i,j; int n; cin >> n; int num; for(i = 0; i < n; i++) { cin >> num; cin >> per[num].bb; } int p1,p2; p1 = 1; p2 = 1; for(i = 1; i <= (n+1)/2; i++) { p1 = per[p1].bb; } for(i = 1; i <= (n+1)/2; i++) { per[p2].b = p1; per[p1].b = per[p2].bb; p1 = per[p1].bb; p2 = per[p2].bb; } int m; cin >> m; for(i = 0; i < m; i++) { cin >> num; cout << per[num].b << endl; } return 0; }
4.4 races
#include<iostream> #include<stdio.h> #include<string> #include<stdlib.h> #include<algorithm> using namespace std; struct race { string name; int number; int time; }per[1010]; bool compare(const race &p1,const race &p2) { if(p1.number != p2.number) return p1.number > p2.number; else if(p1.time != p2.time) return p1.time < p2.time; else return p1.name < p2.name; } int main() { int i,j; int n,pp; cin >> n >> pp; string s; int num; int num2; for(i = 1; i <= n; i++) { cin >> per[i].name; per[i].number = 0; per[i].time = 0; int p; for(j = 0; j < 5; j++) { cin >> s; p = s.find('/'); if(s[p-1] == '-' || s[p+1] == '-') continue; per[i].number++; num = s[0] - '0'; for(int k = 1; k < p; k++) { num *= 10; num += s[k] - '0'; }//num为提交次数 // cout << " "<<num <<endl; num2 = s[p+1] - '0'; for(int m = p+2; m < s.length(); m++) { num2 *= 10; num2 += s[m] - '0'; }//num2为ac耗时 // cout << " "<<num2 <<endl; per[i].time += ((num-1) * pp + num2); // cout <<" "<<per[i].time <<endl; } } sort(per+1,per+n+1,compare); for(i = 1; i <= n; i++) { cout << per[i].name <<" " <<per[i].number <<" "<< per[i].time <<endl; } return 0; }
4.5 out
#include<iostream> #include<stdio.h> #include<string> #include<algorithm> using namespace std; struct person { string name; int number; int behind; }per[1010]; int arr[1010]; string pername[1010]; int main() { int i,j; int n; cin >> n; for(i = 0; i < n; i++) cin >>per[i].name >>per[i].number >>per[i].behind; for(i = 0; i < n; i++) if(per[i].behind == 0) { arr[0] = per[i].number; pername[0] = per[i].name; } //arr为按排队顺序的编号 int len = 0; while(len < n-1) { for(i = 0; i < n; i++) { if(per[i].behind == arr[len]) { arr[++len] = per[i].number; pername[len] = per[i].name; } } } // for(i = 0; i < n;i++) // cout <<arr[i]<<" "; int m; cin >> m; int num; for(i = 0; i < m;i++) { cin >> num; arr[num-1] = 0;//离队 for(j = num-1; j < n; j++) { arr[j] = arr[j+1]; pername[j] = pername[j+1]; } } for(i = 0; i < n; i++) { if(arr[i]) { cout << pername[i]<<endl; } } return 0; }
0 0
- 第四章-结构体
- 第四章 选择结构
- 第四章、代码结构
- 第四章 条件结构
- 第四章 控制结构
- 第四章 循环结构
- 第四章 条件分支结构
- 第四章 选择结构程序设计
- 第四章 分析论证结构
- 第六章第四题 结构体和选择结构的应用
- 第四章的“结构”已经学完
- 第四章 PL/SQL的控制结构
- 第四章 PL/SQL的控制结构
- 第四章——存储系统和结构
- 第四章 Shell的控制结构
- 第四章 结构化分析简记
- 第四章 结构知识导图
- 《数据结构》第四章 知识点结构导图
- 杭电2014
- [STL] list的使用
- 详解HTML中的window对象和document对象
- Spring webflow:上传多个文件
- Android使用SharedPreferences保存HashSet<String>数据不能更新成功
- 第四章-结构体
- 大家快来A水题(sdut_2805)
- 大数阶乘算法
- ORACLE 锁机制
- HDU 4245
- java对象与json对象间的相互转换
- Android基于金融类应用程序的破解以及防护
- Activity AndroidManifest的启动模式
- 灯塔(LightHouse)