C++数据结构-结构体

学生信息

http://oj.61coding.cn/problem.php?cid=1028&pid=0

#include<bits/stdc++.h>
using namespace std;
struct student{
string name;
char sex;
int age;
double weight;
};
int main(){
student stu;
cin >> stu.name >> stu.sex >> stu.age >> stu.weight;
cout << stu.name <<" "<< stu.sex <<" "<< stu.age <<" ";
cout << fixed << setprecision(1) << stu.weight << endl;
return 0;
}

年龄排序

http://oj.61coding.cn/problem.php?cid=1028&pid=1

#include<bits/stdc++.h>
using namespace std;
struct stu{
string name;
string sex;
int year,month;
};
const int MAXN = 110;
stu a[MAXN]; bool cmp(stu stu1,stu stu2){
if(stu1.year!=stu2.year){
return stu1.year>stu2.year;
}
return stu1.month>stu2.month;
}
int main(){
int n;
cin >> n;
for(int i = 1; i <= n; i++)
cin >> a[i].name >> a[i].sex >> a[i].year >> a[i].month;
sort(a+1,a+n+1,cmp);
for(int i = 1; i <= n; i++){
cout<< a[i].name <<" "<< a[i].sex<<" ";
cout<< a[i].year <<" "<< a[i].month<<endl;
}
return 0;
}

猴子选大王

#include<bits/stdc++.h>
using namespace std;
int m,n;
bool a[101];
int main(){
cin>>m>>n;
int num=0,w=m,t=0;
while(m>1){
t++;
if(a[t]==false){
num++;
}
if(num==n){
a[t]=true;
num=0;
m--;
}
if(t==w){
t=0;
}
}
for(int i=1;i<=w;i++){
if(a[i]==false){
cout<<i;
break;
}
}
}
#include<bits/stdc++.h>
using namespace std;
int m,n;
bool a[1001];
int main(){
cin>>m>>n;
int num=0,w=m,t=0;
int nn=n%m;
if(nn==0){
nn=m;
}while(m>1){
t++;
if(a[t]==false){
num++;
} if(num==nn){
a[t]=true;
num=0;
m--;
nn=n%m;
if(nn==0){
nn=m;
}

}
if(t==w){
t=0;
}
}
for(int i=1;i<=w;i++){
if(a[i]==false){
cout<<i;
break;
}
}
}
#include<bits/stdc++.h>
using namespace std;
struct monkey{
int num;
int next;
}a[1010]; int main(){
int n,k,count=0,remain,cur,pre;
cin>>n>>k;
for(int i=1;i<n;i++){
a[i].num=i;
a[i].next=i+1;
} a[n].num=n;
a[n].next=1;
remain=n;
cur=1;
pre=n;
while(remain>1){
count++;
if(count==k){
a[pre].next=a[cur].next;
remain--;
count=0;
}else{
pre = cur;
}
cur=a[cur].next;
}
cout<<a[cur].num<<endl;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
struct monkey{
int num;//当前猴子位置
int next;//下一个猴子位置
}a[1010]; int main(){
//n只猴子 报数到k时出圈
int n,k;
//从0报数开始计数到count=k时出圈 remain当前还剩余可报数的猴子
int count=0,remain;
// 当前猴子位置和前一个猴子位置 当前出队,需要修改pre的next
int cur,pre; cin>>n>>k;
for(int i=1;i<n;i++){//n-1个点建立循环链表
a[i].num=i;
a[i].next=i+1;
}
//第n个点特殊处理
a[n].num=n;//第n个点建立循环链表
a[n].next=1;//第n个点建立循环链表 remain=n;//默认剩余可以报数为n int kk=k%remain;
if(kk==0){
kk=remain;
}
cur=1;//当前从第一个开始
pre=n;//删除第一个使用
while(remain>1){//报数到k出圈 剩下最后一个猴子为止
count++;//报数加1
if(count==kk){//报数到k的猴子出圈
a[pre].next=a[cur].next;//链表中删除当前猴子
remain--;//出圈 猴子数减一
count=0;//从0开始重新报数
kk=k%remain;
if(kk==0){
kk=remain;
}
}else{
pre = cur;//记录当前猴子的前一个猴子位置
}
cur=a[cur].next;//当前猴子的下一个位置
}
cout<<a[cur].num<<endl;//剩余最后一个猴子的位置
return 0;
}

奖学金

http://oj.61coding.cn/problem.php?cid=1028&pid=3

#include<bits/stdc++.h>
using namespace std;
struct node{
int num,chi,mat,eng,tot;
};
node a[311];
bool cmp(node x,node y){
if (x.tot !=y.tot){
return x.tot>y.tot;
}else if (x.chi!=y.chi){
return x.chi>y.chi;
} else return x.num<y.num;
}
int main(){
int n; cin>>n;
for (int i=1;i<=n;i++){
cin>>a[i].chi>>a[i].mat>>a[i].eng;
a[i].num=i;
a[i].tot=a[i].chi+a[i].eng+a[i].mat;
}
sort(a+1,a+n+1,cmp);
for (int i=1;i<=5;i++){
cout<<a[i].num<<" "<<a[i].tot<<endl;
}
return 0;
}

桌面窗体重叠

http://oj.61coding.cn/problem.php?cid=1028&pid=4

#include<bits/stdc++.h>
using namespace std;
struct twindow{
int left,right,top,bottom;
};
twindow wina,winb,tmp; twindow indata(){
twindow tmp;
cin >> tmp.left >> tmp.right >> tmp.top >> tmp.bottom;
return tmp;
} int main(){ wina = indata();
winb = indata();
tmp.left = max(wina.left,winb.left);
tmp.right = min(wina.right,winb.right);
tmp.top = max(wina.top,winb.top);
tmp.bottom = min(wina.bottom,winb.bottom);
int s = (tmp.right - tmp.left) * (tmp.bottom - tmp.top);
if((tmp.right <= tmp.left) || (tmp.bottom <= tmp.top)) s = 0;
cout << s << endl;
return 0;
}

C++数据结构-结构体的更多相关文章

  1. C语言-数据结构-结构体

    一.结构体的定义 数组(Array)是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组 ...

  2. Swift超详细的基础语法-结构体,结构体构造器,定义成员方法, 值类型, 扩充函数

    知识点 基本概念 结构体的基本使用 结构体构造器(构造函数/构造方法) 结构体扩充函数(方法), 又称成员方法 结构体是值类型 1. 基本概念 1.1 概念介绍 结构体(struct)是由一系列具有相 ...

  3. 数据结构基础——结构体struct及类型别名typedef的使用

    一.结构体的创建 在C语言中,实现数据结构的一种常用方法便是使用结构体(structure)其示例代码如下: struct stu { int num; char ch; }; struct表示创建结 ...

  4. Go 结构体和map等数据结构转json字符串

    Go语言中使用json包中的 Marshal() 函数将数据结构转成json字符串,源代码: func Marshal(v interface{}) ([]byte, error) { e := ne ...

  5. 数据结构复习之C语言指针与结构体

    数据结构指针复习: #include <stdio.h> void main() { ] = {, , , , }; // a[3] == *(3+a) printf(+a)); // a ...

  6. 解惑结构体与结构体指针(struct与typedef struct在数据结构的第一道坎)

    /* 数据结构解惑01  在数据结构中会看到 typedef struct QNode { QElemType data; //数据域 struct QNode *next; //指针域 }QNode ...

  7. Go语言【第十一篇】:Go数据结构之:结构体

    Go语言结构体 Go语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型,结构体是由一系列具有相同类型或不同类型数据构成的集合.结构体表示一项记录,比如:保存图书馆的书籍记 ...

  8. go语言结构体

    定义: 是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体. 成员: 每个值称为结构体的成员. 示例: 用结构体的经典案例处理公司的员工信息,每个员工信息包含一个唯一的员工编号.员工的名字. ...

  9. C语言中的结构体

    用户自己建立自己的结构体类型 1.  定义和使用结构体变量 (1).结构体的定义 C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体. (2).声明一个结构体类型的一般形式为: ...

  10. C语言、结构体 定义

    C语言允许用户自己建立由 不同类型数据组成的组合型数据结构 成为结构体. struct Student { int num; //学号 ]; //姓名为字符串 char sex; //性别为字符型 i ...

随机推荐

  1. BUU_RE学习记录

    一.easyre 1.010打开,直接搜flag,得到flag 二.reverse1 1.先查壳,得知是64位无壳,直接用IDA打开 2.shiftF12查找字符串,发现关键语句 3.查看相应代码,F ...

  2. ob_aes_饭团影视

    网站 'aHR0cHM6Ly93d3cuZmFudHVhbmhkLmNvbS9wbGF5L2lkLTExNzctMS0xLmh0bWw=' 搜索mp4,找这个链接从哪来的  打开之后会有明显奇怪的参数 ...

  3. CentOS7升级Linux内核

    CentOS7升级Linux内核 什么是Linux内核 虽然时候使用 Linux 来表示整个操作系统,严格地说,Linux 只是个内核,而发行版的操作系统是一个完整功能的系统,它建立在内核之上,具有各 ...

  4. xpath解析数据的方法

    1 功能描述 2 1.实例化一个etree对象,且需要将被解析的页面源码数据加载到该对象中 3 2.调用etree对象中的XPath表达式实现标签的定位和内容捕获 4 3.环境安装 pip insta ...

  5. 04-Sed操作参数

    1 Sed操作参数 1.1 s--替换 s表示替换(substitute)文件内的字符串. [address1],[address2]s/pattern/replacement/[flag] # s/ ...

  6. css边框,盒子模型、浮动、定位

    边框,盒子模型.浮动.定位 一.边框 border-width : 边框宽度 border-style : 边框样式 1.solid 实线 2.none 无边框 3.dotted 点状虚线边框 4.d ...

  7. MySQL 合并查询join 查询出的不同列合并到一个表中

    为了求解问题时思路清晰,建议先分列查询,再将列合并到一个表中,这样相当于将复杂问题拆解为简单问题,一一解决.优点是避免所有问题混在一起,代码逻辑清晰,可迁移性强,下次遇到类似的查询问题能快速求解,缺点 ...

  8. centos7笔记本使用iptables服务,将笔记本模拟成为出口路由器 PPPOE拨号+NAT+端口映射

    郑州洪水,闲置在家,捣鼓捣鼓 centos7笔记本使用iptables服务,将笔记本模拟成为出口路由器 PPPOE拨号+NAT+端口映射 环境: 1.笔记本单网口,无法做路由网关,手里有个闲置的USB ...

  9. java的部分特性与下载安装

    Java Java的特性与优势 简单性:C++语法纯净版,没有头文件没有指针运算 面向对象:程序设计技术,重点放在对象与对象接口上,用人的思维方式去写程序,万物皆对象 可移植性:跨平台性,可以跨平台移 ...

  10. 【Python】bytes和hex字符串之间的相互转换

    十六进制字符串:a="CC DD 01 61 F6 01 00 64 A4 81 00 00 00 8B" b=bytes.fromhex(a) 转为字节 from socket ...