口罩发放(C语言实现)

这篇具有很好参考价值的文章主要介绍了口罩发放(C语言实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为了抗击来势汹汹的 COVID19 新型冠状病毒,全国各地均启动了各项措施控制疫情发展,其中一个重要的环节是口罩的发放。

某市出于给市民发放口罩的需要,推出了一款小程序让市民填写信息,方便工作的开展。小程序收集了各种信息,包括市民的姓名、身份证、身体情况、提交时间等,但因为数据量太大,需要根据一定规则进行筛选和处理,请你编写程序,按照给定规则输出口罩的寄送名单。
可以AC的解答请参考天梯赛练习集 L2-034 口罩发放(25分)史前巨细,坑点满满
按照如下做法,只得到了19分,有测试点未通过。还没有想出来怎么解决这个问题。
口罩发放(C语言实现)文章来源地址https://www.toymoban.com/news/detail-410243.html

#include <stdio.h>
#include <string.h>

typedef struct Person{
    char name[11];
    char id[21];
    int status;
    char time[6];
    int cnt;
}Person;

int main(){
    int d, p, i, j, k, t, s, len_id, itmp;
    Person person[1000], total[30000], tmp;
    int scnt = 0, tcnt = 0, flag = 0;
    
    scanf("%d%d", &d, &p); //输入数据
    for (i=0; i<30000; i++){
        total[i].cnt = 0;
    }
    for (i=0; i<d; i++){
        scanf("%d%d", &t, &s);
        scnt = 0;
//         for (j=0; j<t; j++){
//             person[j].cnt = 0;
//         }
        for (j=0; j<t; j++){ //输入申请人的信息
            scanf("%s %s %d %s", person[j].name, person[j].id, &person[j].status, person[j].time);
//            scanf("%d %s", &person[j].status, person[j].time);
            flag = 0;
            len_id = strlen(person[j].id);
            person[j].cnt = 0;
            if (len_id != 18){
                continue;
            }
            for (k=0; k<tcnt; k++){
                /*printf("k = %d\n", k);*/
                if (strcmp(person[j].id, total[k].id) == 0){
                    flag = 1;
                    person[j].cnt = total[k].cnt; 
                    /*printf("welcome boys and girls, cnt = %d\n", person[j].cnt);*/
                    if (person[j].status == 1){
                        total[k].status = person[j].status;
                    }
                    break;
                }
            }
            /*printf("flag = %d\n", flag);*/
            if (flag==0 && len_id==18){
                total[tcnt] = person[j];
                tcnt++;
            }
            /*if (flag == 1){
                printf("This has existed.\n");
            }*/
        }
        for (j=0; j<t-1; j++){ //按照提交时间先后顺序排序
            for (k=j+1; k<t; k++){
                if (strcmp(person[j].time, person[k].time) > 0){
                    tmp = person[j];
                    person[j] = person[k];
                    person[k] = tmp;
                }
            }
        }
        
        for (j=0; j<t; j++){
            len_id = strlen(person[j].id);
            if (len_id<18 || len_id>18){
                continue;
            }
            /*printf("hey cnt = %d\n", person[j].cnt);*/
            for (k=0; k<tcnt; k++){
                if (strcmp(person[j].id, total[k].id) == 0){
                    if (total[k].cnt > 0){
                        total[k].cnt++;
                        if (total[k].cnt == p+1){
                            total[k].cnt = 0;
                        }
                        person[j].cnt = total[k].cnt;
                    }
                }
            }
            if (person[j].cnt==0){
                scnt++;
                person[j].cnt++;
                if (scnt <= s){
                    printf("%s %s\n", person[j].name, person[j].id);
                    for (k=0; k<tcnt; k++){
                        if (strcmp(person[j].id, total[k].id) == 0){
                            total[k].cnt = person[j].cnt;
                        }
                    }
                }
            }
        }
        
//         printf("打印\n");
//         for (j=0; j<t; j++){
//             printf("%s %s", person[j].name, person[j].id);
//             printf(" %d %s\n", person[j].status, person[j].time);
//         }
    }
    
    /*printf("tcnt = %d\n", tcnt);*/
    for (i=0; i<tcnt; i++){
        if (total[i].status == 1){
            printf("%s %s\n", total[i].name, total[i].id);
        }
    }
    /*printf("tcnt = %d\n", tcnt);
    for (i=0; i<tcnt; i++){
        printf("%s %s", total[i].name, total[i].id);
        printf(" %d %s\n", total[i].status, total[i].time);
    }*/
    
    return 0;
}

到了这里,关于口罩发放(C语言实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为了实现上网自由,我做了一个多功能串口服务器

    项目作者:小华的物联网嵌入式之旅 介绍:从事电气自动化行业,多次获得物联网设计竞赛,爱好嵌入式设计开发,物联网开发。 设计方案思路的由来,是因为我们现在的开发板基本需要通过串口与WIFI模组或以太网模组连接以实现联网功能,如果多个开发板就要配多个模组

    2024年02月12日
    浏览(27)
  • 从零开始使用YOLOv5+PyQt5+OpenCV+爬虫实现是否佩戴口罩检测

    全流程 教程,从数据采集到模型使用到最终展示。若有任何疑问和建议欢迎评论区讨论。 先放上最终实现效果 图片检测效果图 视频检测效果图 摄像头实时检测效果图 我已经处理了一份数据形成了对应的数据集。获取地址为百度网盘: 链接:https://pan.baidu.com/s/1SkraBsZXWCu1Y

    2024年02月05日
    浏览(33)
  • 加密货币量化交易系统的设计与实现(0.1最初版本,为了应付毕设的版本)

    注意: 写这个程序的目的是进行加密货币投资理财,但是我刚好要毕业了,需要些毕业设计,所以和导师商量了一下把原本的《基于表情识别的人工智能睡眠质量监测助手》换成了我自己的《加密货币量化交易系统的设计与实现》,这个设计里的后端服务模块(基于springbo

    2024年02月02日
    浏览(41)
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测

    【官方框架地址】 https://github.com/ViewFaceCore/ViewFaceCore 【算法介绍】 SeetaFace6是由中国科技公司自主研发的一款人脸识别技术,它基于深度学习算法,能够快速、准确地识别出人脸,并且支持多种应用场景,如门禁系统、移动支付、安全监控等。SeetaFace6的识别准确率高达99%以上

    2024年01月21日
    浏览(43)
  • 基于Qt、PYTHON智能校园防御系统应用程序,实现了摄像头数据采集、人脸识别、口罩识别、 数据统计等功能

    完整项目地址:https://download.csdn.net/download/lijunhcn/88453470 项目结构 环境选型 语言:Python 操作系统:Windows 数据库:MySQL 窗口界面:PyQT API接口:百度AI接口,用以实现人脸登陆与注册 远程MySQL表结构 远程表结构sql脚本 项目背景 智能校园防御软件是实现了一款基于摄像头数据

    2024年02月03日
    浏览(44)
  • HCIP-OpenStack发放云主机

    1、云平台中的几个概念 在云平台注册了一个账号,这个账号对于云平台来说,就是一个租户或者一个项目。 租户/项目(tenant/project),租户就是项目的意思。主机聚合就是主机组的意思。 region(区域),就是数据中心的地理位置,比如北京数据中心和武汉数据中心,用户就

    2024年02月12日
    浏览(23)
  • Java-扑克牌的创建以及发放

    大家好,我是晓星航。今天为大家带来的是 Java-扑克牌的创建以及发放的讲解!😀 这为后续扑克牌的花色以及数字大小创建了类。 这里我们写好了我们扑克牌的基本菜单逻辑,即买牌(52张),再洗牌(打乱牌),最后将所有牌分发给玩游戏的三个人(每人五张)。 这里我们定义了

    2024年02月01日
    浏览(26)
  • 云计算之FusionAccess虚拟桌面发放流程

    话不多说,直接上干货。 FusionAccess桌面云发布共涉及到ITA、VRM、HDC、VM和DB五个组件。其中: ITA(IT Adapter),即IT资源适配管理,是FusionAccess的管理系统。 VRM(Virtual Resource Mangement),虚拟资源管理器,是FusionCompute虚拟化平台的管理Portal。与ITA对接,接收ITA下发的指令,交由

    2024年01月21日
    浏览(28)
  • Redhat OpenStack使用命令行发放云主机

    Glance:负责管理镜像(镜像的上传、删除、下载) Swift:提供镜像存储的空间 Nova:负责配额的修改、启动云主机(实例)、创建密钥对、绑定弹性IP等 Keystone:提供租户以及用户的管理 Neutron:负责网络、子网、安全组、安全组规则、浮动IP等 Cinderr:提供云硬盘 通过Mobaxte

    2024年02月12日
    浏览(26)
  • 佩戴口罩检测从零开始使用YOLOv5+PyQt5+OpenCV+爬虫实现(支持图片、视频、摄像头实时检测,UI美化升级)

    全流程 教程,从数据采集到模型使用到最终展示。 支持图片检测、视频检测、摄像头实时检测,还支持视频的暂停、结束等功能。若有任何疑问和建议欢迎评论区讨论。 先放上最终UI实现效果 图片检测效果图 视频检测效果图 摄像头实时检测效果图 我已经处理了一份数据形

    2024年02月04日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包