求助T244587 【结构体】迟到统计
  • 板块学术版
  • 楼主Auroraxcz2011
  • 当前回复27
  • 已保存回复27
  • 发布时间2022/9/9 20:58
  • 上次更新2023/10/27 12:11:33
查看原帖
求助T244587 【结构体】迟到统计
719187
Auroraxcz2011楼主2022/9/9 20:58

【结构体】迟到统计

题目描述

小明公司实施了考勤打卡的制度,每个人有三个信息,id、工号、部门编号,现在公司规定9点之后(刚好9点不算迟到)打卡的都算迟到(24小时制),之后会有n条打卡记录,现在需要所有人的迟到次数,请你列出所有员工的迟到次数.

输入格式

第1行输入2个值n和m分别表示n个人和m次打卡记录
接下来n行,每行输入1个整数和2个字符串,分别表示员工的id、工号和部门编号
接下来m行,每行依次输入2个整数x表示打卡人id和该打卡人的打卡时间(小时)

输出格式

根据id顺序依次输出所有人的id、工号和部门编号以及迟到次数

样例 #1

样例输入 #1

5 3
2 123 0001
1 124 0001
3 125 0002
5 126 0003
4 127 0004
2 10
1 11
2 13

样例输出 #1

1 124 0001 1
2 123 0001 2
3 125 0002 0
4 127 0004 0
5 126 0003 0

提示

1<=n,m<=10
所有字符串长度均小于等于10
id默认从1到n,且每个人都不同

0分代码:

#include<bits/stdc++.h>
using namespace std;
struct person{
    int id,gh,TIME,cd;
    string bm; 
}a[20];
int main(){
    person a[20];
    int n,m,k,x;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i].id>>a[i].gh>>a[i].bm;
    }
    for(int i=1;i<=m;i++){
        cin>>k>>a[i].TIME;
        if(a[i].TIME>9){
            a[k].cd++;
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(a[j].id==i){
                x=j;
                break;
            }
        }
        cout<<a[x].id<<" "<<a[x].gh<<" "<<a[x].bm<<" "<<a[x].cd<<endl;
    }
    return 0;
}
2022/9/9 20:58
加载中...