zoukankan      html  css  js  c++  java
  • 蓝桥杯:错误票据

    错误票据
    某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,
    但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,
    另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。
    要求程序首先输入一个整数N(N<100)表示后面数据行数。接着读入N行数据。
    每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000)
    每个整数代表一个ID号。要求程序输出1行,含两个整数m n,用空格分隔。
    其中,m表示断号ID,n表示重号ID
    例如:
    用户输入:
    2
    5 6 8 11 9
    10 12 9
                    //注意测试数据中此处有一个换行
    则程序输出:
    7 9 
    #include<cstdio>
    #include<cstring>
    #include<algorithm> 
    using namespace std;
    const int M=101;
    int a[M];
    int main()
    {
        freopen("7.in","r",stdin);
        freopen("7.out","w",stdout);
        int N,zero,two,i,j;
        char c; 
        scanf("%d",&N);
        i=0;
        while(N)
        {
            c=getchar();
            if(c==10)
                N--;//如果c是换行符,N-- 
            else {
                //如果c不是换行符,把c返还到输入流 
                ungetc(c,stdin);
                scanf("%d",&a[i]);
                i++;
            }
        }    
        zero=-1;two=-1;
        std::sort(a,a+i);
        for(j=0;j<i-1;j++)
        {
            if(a[j+1]-a[j]==0) two=a[j];
            if(a[j+1]-a[j]==2) zero=a[j]+1;
        }
        printf("%d    %d
    ",zero,two);
        return 0;
    }
  • 相关阅读:
    重启sqlserver服务命令
    k8s学习
    collection包1.1.0都升级了什么功能
    Golang项目的测试实践
    一个让业务开发效率提高10倍的golang库
    GopherChina第二天小结
    GopherChina第一天小结
    slice是什么时候决定要扩张?
    史上最快的后台搭建框架
    gorm的日志模块源码解析
  • 原文地址:https://www.cnblogs.com/jianfengyun/p/3614765.html
Copyright © 2011-2022 走看看