精华内容
下载资源
问答
  • java实现第六届蓝桥杯表格计算

    万次阅读 多人点赞 2019-07-29 19:37:39
    表格计算 某次无聊中, atm 发现了一个很老的程序。这个程序的功能类似于 Excel ,它对一个表格进行操作。 不妨设表格有 n 行,每行有 m 个格子。 每个格子的内容可以是一个正整数,也可以是一个公式。 公式包括三...
    
     表格计算
    
    

    某次无聊中, atm 发现了一个很老的程序。这个程序的功能类似于 Excel ,它对一个表格进行操作。
    不妨设表格有 n 行,每行有 m 个格子。
    每个格子的内容可以是一个正整数,也可以是一个公式。
    公式包括三种:

    1. SUM(x1,y1:x2,y2) 表示求左上角是第 x1 行第 y1 个格子,右下角是第 x2 行第 y2 个格子这个矩形内所有格子的值的和。
    2. AVG(x1,y1:x2,y2) 表示求左上角是第 x1 行第 y1 个格子,右下角是第 x2 行第 y2 个格子这个矩形内所有格子的值的平均数。
    3. STD(x1,y1:x2,y2) 表示求左上角是第 x1 行第 y1 个格子,右下角是第 x2 行第 y2 个格子这个矩形内所有格子的值的标准差。

    标准差即为方差的平方根。
    方差就是:每个数据与平均值的差的平方的平均值,用来衡量单个数据离开平均数的程度。

    公式都不会出现嵌套。

    如果这个格子内是一个数,则这个格子的值等于这个数,否则这个格子的值等于格子公式求值结果。

    输入这个表格后,程序会输出每个格子的值。atm 觉得这个程序很好玩,他也想实现一下这个程序。

    「输入格式」
    第一行两个数 n, m 。
    接下来 n 行输入一个表格。每行 m 个由空格隔开的字符串,分别表示对应格子的内容。
    输入保证不会出现循环依赖的情况,即不会出现两个格子 a 和 b 使得 a 的值依赖 b 的值且 b 的值依赖 a 的值。

    「输出格式」
    输出一个表格,共 n 行,每行 m 个保留两位小数的实数。
    数据保证不会有格子的值超过 1e6 。

    「样例输入」
    3 2
    1 SUM(2,1:3,1)
    2 AVG(1,1:1,2)
    SUM(1,1:2,1) STD(1,1:2,2)

    「样例输出」
    1.00 5.00
    2.00 3.00
    3.00 1.48

    「数据范围」
    对于 30% 的数据,满足: n, m <= 5
    对于 100% 的数据,满足: n, m <= 50

    资源约定:
    峰值内存消耗(含虚拟机) < 512M
    CPU消耗 < 2000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    注意:不要使用package语句。不要使用jdk1.7及以上版本的特性。
    注意:主类的名字必须是:Main,否则按无效代码处理。

    import java.util.ArrayList;
    import java.util.Scanner;
    
    public class Main {
        public static int n, m;
        public static double[][] value;
        
        public double getSum(int x1, int y1, int x2, int y2) {
            double sum = 0;
            for(int i = x1;i <= x2;i++)
                for(int j = y1;j <= y2;j++)
                    sum = sum + value[i][j];
            return sum;
        }
        
        public double getAvg(int x1, int y1, int x2, int y2) {
            int count = Math.abs((x2 - x1 + 1) * (y2 - y1 + 1));
            double avg = getSum(x1, y1, x2, y2) / count;
            return avg;
        }
        
        public double getStd(int x1, int y1, int x2, int y2) {
            int count = Math.abs((x2 - x1 + 1) * (y2 - y1 + 1));
            double avg = getAvg(x1, y1, x2, y2);
            double result = 0;
            for(int i = x1;i <= x2;i++)
                for(int j = y1;j <= y2;j++)
                    result = result + (value[i][j]-avg) * (value[i][j]-avg);
            result = Math.sqrt(result / count);
            return result;
        }
        
        public boolean check(int x1, int y1, int x2, int y2) {
            boolean judge = true;
            for(int i = x1;i <= x2;i++) {
                if(!judge)
                    break;
                for(int j = y2;j <= y2;j++) {
                    if(value[i][j] == -1) {
                        judge = false;
                        break;
                    }
                }
            }
            return judge;
        }
        
        public String[] getOperaAndNum(String arrayA) {
            int p = arrayA.indexOf("(");
            int q = arrayA.indexOf(")");
            String opera = arrayA.substring(0, p);
            arrayA = arrayA.replace(':', ',');
            String[] num = arrayA.substring(p+1, q).split(",");
            String[] result = new String[5];
            result[0] = opera;
            for(int i = 0;i < 4;i++)
                result[i + 1] = num[i];
            return result;
        }
        
        public void getResult(String[] A) {
            value = new double[n][m];
            ArrayList<String> list = new ArrayList<String>();
            for(int i = 0;i < n;i++)
                for(int j = 0;j < m;j++) 
                    value[i][j] = -1;
            for(int i = 0;i < A.length;i++) {
                String[] arrayA = A[i].split(" ");
                for(int j = 0;j < arrayA.length;j++) {
                    if(arrayA[j].charAt(0) >= '0' && arrayA[j].charAt(0) <= '9') {
                        value[i][j] = Double.valueOf(arrayA[j]);
                    } else {
                        String[] r = getOperaAndNum(arrayA[j]);
                        String opera = r[0];
                        int x1 = Integer.valueOf(r[1]) - 1;
                        int y1 = Integer.valueOf(r[2]) - 1;
                        int x2 = Integer.valueOf(r[3]) - 1;
                        int y2 = Integer.valueOf(r[4]) - 1;
                        if(check(x1, y1, x2, y2) == false) {
                            list.add(""+i+" "+j+" "+arrayA[j]);
                            continue;
                        }
                        if(opera.equals("SUM"))
                            value[i][j] = getSum(x1, y1, x2, y2);
                        else if(opera.equals("AVG"))
                            value[i][j] = getAvg(x1, y1, x2, y2);
                        else if(opera.equals("STD"))
                            value[i][j] = getStd(x1, y1, x2, y2);
                    }
                }
            }
        
            while(!list.isEmpty()) {
                for(int i = list.size() - 1;i >= 0;i--) {
                    String[] temp = list.get(i).split(" ");
                    int a = Integer.valueOf(temp[0]);
                    int b = Integer.valueOf(temp[1]);
                    String[] r = getOperaAndNum(temp[2]);
                    String opera = r[0];
                    int x1 = Integer.valueOf(r[1]) - 1;
                    int y1 = Integer.valueOf(r[2]) - 1;
                    int x2 = Integer.valueOf(r[3]) - 1;
                    int y2 = Integer.valueOf(r[4]) - 1;
                    if(check(x1, y1, x2, y2) == false) 
                        continue;
                    if(opera.equals("SUM"))
                        value[a][b] = getSum(x1, y1, x2, y2);
                    else if(opera.equals("AVG"))
                        value[a][b] = getAvg(x1, y1, x2, y2);
                    else if(opera.equals("STD"))
                        value[a][b] = getStd(x1, y1, x2, y2);
                    list.remove(i);
                }
            }
            for(int i = 0;i < n;i++) {
                for(int j = 0;j < m;j++) {
                    System.out.printf("%.2f", value[i][j]);
                    if(j != m - 1)
                        System.out.print(" ");
                }
                System.out.println();
            }
        }
        
        public static void main(String[] args) {
            Main test = new Main();
            Scanner in = new Scanner(System.in);
            n = in.nextInt();
            m = in.nextInt();
            in.nextLine();
            String[] A = new String[n];
            for(int i = 0;i < n;i++)
                A[i] = in.nextLine();
            test.getResult(A);
        }
    }
    
    展开全文
  • LM317 电阻表格 电阻计算

    千次阅读 2019-11-30 21:16:59
    目录电阻选择表格LM317的电压计算新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...


    LM317是常用的一款线性稳压电源,本文介绍其基本电路和电阻选择表格。

    电阻选择表格

    在这里插入图片描述
    图1:LM317电阻表格

    LM317的电压计算

    图2展示了LM317的电路图:

    在这里插入图片描述
    图2:LM317电路图

    配置电阻R1和R2就可以得到不同的输出电压,公式如下:
    Vout=1.25×(1+R2/R1)Vout =1.25\times (1+R2/R1) [1]
    按照图2中电阻数值可计算出Vout=5.04V。由于电阻数值常用的是E24系列,所以本文图1给出了电阻选择表,找到需要配置的电压,由此可以获得电阻数值。

    作者:伏熊(专业:射频芯片设计、雷达系统。爱好:嵌入式。欢迎大家项目合作交流。)
    微信:GuoFengDianZi

    [1] LM317 datasheet, Texas Instruments, SEPTEMBER 2016

    展开全文
  • 超级表格编辑功能详细介绍

    千次阅读 2017-04-28 17:48:07
    超级表格编辑功能详细介绍今天我们来详细的介绍一下超级表格的编辑功能。超级表格如何进行复制,黏贴?部分品牌的电脑有单独的复制快捷键,请您以实际为准:1. 在超级表格中,如果您想复制一个单元格中的内容到另外...

    超级表格编辑功能详细介绍


    今天我们来详细的介绍一下超级表格的编辑功能。

    超级表格如何进行复制,黏贴?

    部分品牌的电脑有单独的复制快捷键,请您以实际为准:

    1. 在超级表格中,如果您想复制一个单元格中的内容到另外一个单元格中,您可以直接选中该单元格,然后使用ctrl+c进行复制,黏贴使用ctrl+v这一组快捷键。

    2. 在超级表格中,如果您想要复制整行数据,您可以直接选中此行,再次使用ctrl+c这一组复制快捷键,黏贴的时候依然使用ctrl+v。除了这个方法,您还可以在此行单元格的前方,找到功能按钮然后选择复制,黏贴可以使用快捷键也可以直接在这个功能按钮中选择黏贴:

    复制快捷键:ctrl+c;剪切快捷键:ctrl+x;黏贴快捷键:ctrl+v;如果想要复制多个单元格除了鼠标选中之后直接进行拖拽还可以按住shift键然后找到上下左右键来进行选择。


    超级表格如何进行拖拽填充?

    超级表格和Excel表格的操作一样,进行表格的拖拽填充。


    1示例:文字与数字下拉填充


    当鼠标选中单个单元格时,右侧鼠标由白色十字变为黑色十字时下拉,自动填充单元格。

    编辑.gif

    编辑,数字.gif


    2示例:连续数字填充


    如果我们想要连续性的数字填充,可以同时选中连续的三个单元格进行下拉操作,表格中会自动填充上连续的数字。

    编辑,数字123.gif


    超级表格如何进行撤销,返回上一步或者清空当前页面的所有数据?

    如果您复制黏贴之后发现这些数据不是您想要的,那么您可以撤销刚刚做的操作。

    1.在超级表格中,撤销表格编辑中的上一个步骤,最简单的快捷键是ctrl+z。

    2.如果您想撤销刚刚的操作,还有一个方法:您可以找到表格上方的工具栏,在工具栏中找到以下两个按钮:



    向左的按钮表示撤销,向右的按钮表示重做。

    也有部分表格操作不可撤销,例如:列的增加,删除与修改,拖拽填充单元格与计算公式列的组合操作等。

    3.如果当前页的数据您都需要删除,一步一步的撤销,一步一步的删除太麻烦了。这个时候,我们可以找到表格左上方的倒三角形状的按钮,选择里面的“清空当前显示数据”:


    这个操作需要注意,清空之后数据无法进行恢复。


    超级表格如何删除数据?

    使用超级表格如何删除表格中的数据呢?

    删除单元格中的数据除了可以按住键盘上的Backspace键进行删除(这种适用于单个单元格删除)以及按照上文的方法直接清空所有数据外,我们还可以找到表格左上角的倒三角按钮进行整行数据的删除:


    快捷键总结(个别品牌电脑快捷键有所区别,以实际为准):

    复制:ctrl+C

    黏贴:ctrl+V

    剪切:ctrl+X

    撤销:ctrl+Z

    全选:ctrl+A

    选中单元格区域:shift + ↑ ↓ ← →

    注:如果进行多行数据的黏贴,您的光标不要在单独某一个单元格中闪动,否则可能会导致所有数据都黏贴到了一个单元格中。黏贴的时候,最好用鼠标多选中几列进行操作,这个方法也适用于把Excel表格中的数据黏贴到超级表格中:

    错误示范:

    正确示范:




    若有其他疑问,欢迎直接在下方评论留言~O(∩_∩)O~~我们会一一回答




    收集与整理信息,一张超级表格搞定!

    多人协作的在线表格 优美的企业办公软件

    关注超级表格公众号:超级表格

    关注超级表格微博:超级表格-官博


    展开全文
  • 我在浏览资料时,发现有很多人都在询问如何使用layui编辑过后怎么让其后面相对应的表格自动计算数据,所以我今天给大家分享一个我对该问题是如何解决的,虽然方法比较笨,但是个人认为能解决问题的方法都是不错的。...

    我在浏览资料时,发现有很多人都在询问如何使用layui编辑过后怎么让其后面相对应的表格自动计算数据,所以我今天给大家分享一个我对该问题是如何解决的,虽然方法比较笨,但是个人认为能解决问题的方法都是不错的。

    因为我个人的项目需求,需要当我修改数量的时候,金额会自动的改变,并且只是影响我修改的那一行金额
    在这里插入图片描述

    然后需要在初始化表格的时候用一下重载的回调,方便我们获取表格的数据
    在这里插入图片描述

    下一步是需要使用layui表格的编辑监听事件,来处理数据,本触发表格重载
    在这里插入图片描述

    需要注意的是图中的Ndata是表格中所有的数据,所有是给List数据,所有这里是要遍历循环给金额赋值

    对于数据的处理,重要根据自己项目处理

    赋值完后使用layui中的Table.reload的方法进行重载数据表格

    其中Url,where为必填

    如果是单条数据的重载,可以不用加method:’post’这个属性,但是如果使用的是List数据,或者数组,请千万不要忘记,因为不加,肯定传不到控制器,在下已经试过很多次了,没有一次成功

    Page这个属性,如果表格中数据不多,可以不要,如果有分页,肯定得写上

    页面的代码基本就解决完成了,

    然后就是控制器的接收部分,当然这部分非常简单。

    List<T>
    

    其中的T就是用来装Ndata的一个类,具体如何写根据自己的项目来决定
    在这里插入图片描述

    传进来,然后就可以直接传回页面,然后表格就自动计算出你需要的值了

    然后我觉得我的方法比较笨,但是这是我唯一想到了并且能用的方法。

    倘若是表格单条数据的重载就简单很多了

    展开全文
  • ...首先新建一个表格,按需要确定表格的模式。将表头设定好,输入所需的数据。 在这个工资表中需要用到加法(基础工资+绩效工资)和减法(工资总数-病/事假所扣工资)
  • 需求:计算表格中最后一列的总和,其他数字列不进行计算。 官网中的示例是所有数字列都进行计算总和的。所以需要自己处理。 参考官网知识点: summary-method 自定义的合计计算方法 Function({ columns, data }) ...
  • 计算layui表格列总和

    千次阅读 2019-07-06 15:36:18
    做项目过程中,除了要实现客户各种功能的需求,处理各种数据也是不可避免的,计算总和、比率、平均数等等,基本上,数学中有学过的运算都会用到哦。下面演示一下基础的,layui表格,怎样计算其总和?能实现该功能的...
  • 之前做一块的时候,从网上找到东西能满足需求,却不能更好的符合操作规范,所以在vue+element的表格分页和搜索功能基础上进行了更改。 话不多说,直接看代码: <template> <div> <div class=...
  • 一句话,绝对不比excel计算功能弱,当然图形方面是没有的。对于编程者来讲,用鼠标拖拽操作还是用lisp编写计算公式哪个更符合思考的习惯,我觉得是后者。我这里只介绍lisp计算公式,如果关注简单的Calc计算公式,...
  • <el-table :data="list" max-height="700" border style="width: 100%" @cell-click="tabClick" :row-class-name="tableRowClassName" > <el-table-column ...
  • 用简单的VBA实现Excel表格计算

    千次阅读 2005-09-19 00:18:00
    利用Excel制作电子表格时,有时需要用到计算填充功能,比如某列每种元件的价格合计,就是由E列元件单价乘以D列元件数量得来的。通过分析,发现利用Excel提供的VBA(VisualBasicforApplication)功能,写几行Basic代码...
  • Numbers Mac表格功能与介绍

    千次阅读 2018-07-06 17:49:22
    Numbers是一款功能非常强大的电子... Numbers破解版甚至可以使用Numbers 快速制作预算、清单、发票、贷款计算等更多的表格,文字、图形、颜色都可以自定义设置。DesiGN for Numbers Templates for Mac功能介绍与...
  • extjs表格grid功能详解

    千次阅读 2012-08-09 12:09:43
     * EXTJS表格grid功能详解  *  * 1.在默认情况下,表格是可以拖放列,也可以改变列的宽度。  * 如果要禁用这两个功能,在定义表格对象时将enableColumnMove和enableColumnResize设置为false即可。  * 2....
  • layui表格输入数值自动计算

    千次阅读 2019-07-29 10:15:33
    先开启layui表格的单元格编辑 在想要开启单元格的列中输入edit:’text’,即可开启单元格编辑 通过监听单元格事件直接获取整行的数据 比如下面的图片中数量就是开启了单元格编辑 在数量单元格中输入数字 在单元格...
  • 计算与推断思维 七、函数和表格

    万次阅读 2017-12-27 14:03:35
    七、函数和表格 原文:Functions and Tables 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 通过使用 Python 中已有的函数,我们正在建立一个使用的技术清单,用于识别数据集中的规律和主题。 ...
  • 使用过滤器和计算属性,完成一个表格的动态筛选功能,并且在实例对象创建之后进行对象的挂载 , ` &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="...
  • 前端表格通过js计算生成合计行

    千次阅读 2019-09-04 11:37:01
    想把一个表格的最下面添加一个合计行,有很多种实现方式,可以在sql中通过sum函数计算得到结果返回后台再传给前端填充,也可以在后台通过sql查出的基础数据做累加,再传给前端。但是这两种方法都比较麻烦,数据量少...
  • Word 2007表格简单计算和数字格式转换【内容摘要】在word2007中,我们可以很轻松地对表格中的数据进行一些简单计算,并把数据转换成我们所需要的格式。一、数据计算以图1所示表格为例,我们需要计算每个人的总和以及...
  • Excel合并计算完成多表格数据汇总求和 多表格数据汇总可以使用透视表,使用函数,今天读书屋OFFICE网陈飞老师分享一个通过合并计算完成多表格数据汇总方法,合并计算分为两种情况,一种情况是:多个表格类别一致...
  • 数据合并计算,顾名思义,就是能将多个区域的数据合并,可以是跨表,合并之后进行加减乘除计算,这就是本文为大家讲解的WPS表格的数据合并计算功能。下面以图文的形式将步骤演示下,感兴趣的朋友可以借此机会学习下...
  • EAS KDTable 表格功能汇总

    千次阅读 2014-01-08 13:53:15
    1.表格设置显示属性结构: 显示表格的树形结构:kdtPALEntry.getTreeColumn().setDepth(2); 设置当前行的属性节点(是一级节点还是二级节点): kdtPALEntry.getRow(i).setTreeLevel(0);
  • layui数据表格实现类似购物车功能
  • 使用element ui中的表格合计时,经常会出现表格列中带有小数点时合计结果出现错误, 会出现很多位小数,错误形式如下:    解决方式如下,在官方给出的合计方法中,加入以下判断:   如果想不合计某列的...
  • serverless服务现在越来越火,简单写一下一个结合阿里云API网关、函数计算表格存储实现的用户注册登录功能。 相关链接 函数计算 API网关 表格存储 主要是外部请求API网关,API网关调用相应的函数计算服务,...
  • C++读写数据,一般通过txt文件,但是随着数据量的增大,采集数据时运用excel表格的优势得以逐步体现。本文主要介绍一下运用第三方库libxl,对excel表格数据进行读写。分为三个部分,第一部分是Visual Studio2010环境...
  • 使用Vue.js实现表格的排序和搜素功能利用Vue的computed计算属性函数,不需要给绑定事件,排序函数只需改变排序键和该列的排序方式。代码链接

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,624
精华内容 67,449
关键字:

如何利用表格计算功能