• 1178.复数集合


    题目描述:

        一个复数(x+iy)集合,两种操作作用在该集合上:

        1、Pop 表示读出集合中复数模值最大的那个复数,如集合为空 输出  empty  ,不为空就输出最大的那个复数并且从集合中删除那个复数,再输出集合的大小SIZE;

        2 Insert a+ib  指令(a,b表示实部和虚部),将a+ib加入到集合中 ,输出集合的大小SIZE;

        最开始要读入一个int n,表示接下来的n行每一行都是一条命令。

    输入:

    输入有多组数据。
    每组输入一个n(1<=n<=1000),然后再输入n条指令。

    输出:

    根据指令输出结果。

    样例输入:
    3
    Pop
    Insert 1+i2
    Pop
    样例输出:
    empty
    SIZE = 1
    1+i2
    SIZE = 0
    提示:

    模相等的输出b较小的复数。

    a和b都是非负数。

    #include<stdio.h>
    #include<cstring>
    #include<cmath>
    using namespace std;
    
    int a[1000],b[1000],c[1000];
    int number=0;
    
    void pop(){
        int i,max=c[0],maxi=0,maxb=b[0];
        if(number==0) printf("empty
    ");
        else {
        for(i=0;i<number;i++){
            if(max<c[i]) {
                max=c[i];
                maxi=i;
            }
            else if(max=c[i]){
                if(maxb>b[i]){
                    maxb=b[i];
                    maxi=i;
                }
            }
        }
        i--;
        printf("%d+i%d
    ",a[i],b[i]);
        number--;
        printf("SIZE = %d
    ",number);
    }
    }
    
    void insert(int x,int y){
        a[number]=x;
        b[number]=y;
        c[number]=x*x+y*y;
        number++;
        printf("SIZE = %d
    ",number);
    }
    
    int main(){
        int n,i;
        char m[10],p[10];
        while(scanf("%d",&n)!=EOF){
            for(i=0;i<n;i++){
                scanf("%s",m);
                if(m[0]=='P'){
                    pop();
                }
                else if(m[0]=='I'){
                    scanf("%s",p);
                    int x=p[0]-'0';
                    int y=p[3]-'0';
                    insert(x,y);
                }
            }
        }
        return 0;
    }
  • 相关阅读:
    展示之前的作品
    let和const的一些知识点
    javascript执行上下文和变量对象
    数据类型隐式转换及数据类型判断方式总结
    CSS元素隐藏方法总结
    ES6 —— 数组总结
    小程序性能相关
    nginx和resin一二三
    修改XAMPP的默认根目录
    面试题延伸及总结
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9735139.html
Copyright © 2020-2023  润新知