精华内容
下载资源
问答
  • excel中多条件判断求和

    千次阅读 2014-05-27 01:54:55
     而当需要判断列数据的条件另一列数据进行求和的时候SUMIF就不行了,此时可以用SUMPRODUCT函数,即数组求和函数。利用布尔量的运算来表示条件的同时满足。 例如: SUMPRODUCT((F4:F53="男")*(G4:G53=...

            单条件求和直接用SUMIF,用法也很简单,也很好用。

            而当需要判断多列数据的条件来对另一列数据进行求和的时候SUMIF就不行了,此时可以用SUMPRODUCT函数,即数组求和函数。利用布尔量的运算来表示多列条件的同时满足。

           例如:

           SUMPRODUCT((F4:F53="男")*(G4:G53="退休"),D4:D53)

           表示在同时满足F列的值等于“男”,且G列的值等于“退休”的情况下,求D列的和。

    展开全文
  • 1) 编写个整数求和的程序:用户输入的个整数进行求和,并输出结果。 阅读然后修改附录A中的求和程序(该程序实现了3个整数求和的功能),使用一个常量决定数组的大小(即程序最大可以求和的整数个数):  ...

    实验名称

    多整数求和程序的编写

    实验目的

    熟悉汇编语言的基本指令和条件指令的使用,理解汇编程序中,如何实现高级语言中的条件语句。

    实验要求

    1) 编写多个整数求和的程序:对用户输入的多个整数进行求和,并输出结果。

    阅读然后修改附录A中的求和程序(该程序实现了3个整数求和的功能),使用一个常量决定数组的大小(即程序最大可以求和的整数个数):

              ARRAY_SIZE = 20

             Array DWORD ARRAY_SIZE DUP(?)

    写一个过程提示用户输入需要求和的整数的个数,向promptForIntegers过程传递用户输入的数值。如果用户的输入值大于ARRAY_SIZE(判断的示例代码参见附录B),那么显示一条错误信息并退出程序。提示和错误信息可以如下例所示:

    How many integers will be added? 21

    The array cannot be larger than 20

    精心设计程序,使得在修改了ARRAY_SIZE后,错误提示信息中的ARRAY_SIZE数目值(在上例中是20)也应自动修改。

    提示:

    a). 编程能力一般的同学可以分两步:①弄懂附录A的程序。该程序实现了3个整个求和的功能。 ②找到附录A的程序需要修改的地方,以实现多个整数求和。

    b). 编程能力较强的同学建议直接编写程序实现。

    2) 对上述程序添加功能:除显多个整数的和外,还分别显示这些整数中正整数的和负整数的和。(区分正数与负数的示例代码参见附录B)

    3)(可选)阅读kip irvine库中的部分过程的源码

    Irvine 32位库的源码在文件Irvine32.asm中(在Irvine32_Library_sourceCode.rar压缩包中)。

    建议阅读源码的过程是:DumpMem,DumpRegs,IsDigit,Random32,RandomRange,ReadChar,

    实验内容

    1、实现多个整数求和

    代码如下:

    TITLE Integer Summation Program

    INCLUDE Irvine32.inc

     

    ARRAY_SIZE = 20                        ;定义最多可以进行多少个整数的运算

    .data

     str1 BYTE "Enter a signed integer:",0

     str2 BYTE "The sum of the integers is:",0

     str3 BYTE "How many integers will be added? ",0

     str4 BYTE "The array cannot be larger than 20",0ah,0

     array DWORD ARRAY_SIZE DUP(?)

    .code

     

    main PROC

     

    call Clrscr                                     ;调用功能函数Clrscr清除控制台

    mov esi,OFFSET array             ;将数组的地址传至esi寄存器中

    mov ecx,ARRAY_SIZE            ;将定义的最大数组大小存放到ecx寄存器中

    call panduan                               ;调用函数panduan来判断用户要求输入的运算数的数目是否大于最大限制

    call PromptForIntegers

    call ArraySum

    call DisplaySum

    exit

    main endp

     

    panduan PROC USES edx               

         mov  edx,OFFSET str3      ;将str3字符串的首地址存放到edx寄存器中

         call WriteString                   ;向控制台输出一个以空字节结束的字符串(str3)

         call ReadInt                         ;从键盘读入一个32位有符号整数

         call Crlf                                 ;将光标定位到控制台窗口下一行位置

         mov ebx,20                          ;将20(最大允许操作的数据数量)赋值给ebx中

         cmp ebx,eax                         ;将用户输入的要处理的数据数目与系统定义的最大可以处理数据数量进行比较

         mov edi,eax                     

         JNC L1                                  ;当用户要求处理的数据数量大于最大可以处理数量时进行跳转

         mov  edx,OFFSET str4       ;将str4字符串的首地址传给edx

         call WriteString                    ;在控制台显示字符串str4

         exit

    L1:  ret

    panduan ENDP

     

    PromptForIntegers PROC USES ecx edx esi  ;实现接受输入数字

    mov   edx,OFFSET str1        ;将字符串str1的首地址传给edx

         mov ecx,edi                      

    L1:  call WriteString               ;在控制台显示字符串str1

         call ReadInt                       ;接受用户从键盘输入的一个数值

         call Crlf                              ;实现回车换行

         mov  [esi],eax                    ;将eax的值赋值给esi

         add  esi,TYPE DWORD             

         loop L1                               ;循环

         ret

    PromptForIntegers ENDP

     

    ArraySum PROC USES esi ecx            ;求和

         mov eax,0

    L1:  add eax,[esi]

         add esi,TYPE DWORD

         loop L1

          ret

     

    ArraySum ENDP

     

    DisplaySum PROC  USES edx         ;显示最后的和

         mov edx,OFFSET str2

         call WriteString

         call WriteInt

         call Crlf

    ret

    DisplaySum ENDP

    END main

    运行结果显示:

    2、实现多个整数求和并且输出正数、负数的和

    实现代码:

    TITLE Integer Summation Program

    INCLUDE Irvine32.inc
     

    ARRAY_SIZE = 20

    .data

     str1 BYTE "Enter a signed integer:",0

     str2 BYTE "The sum of the positive integers is:",0

     str3 BYTE "How many integers will be added? ",0

     str4 BYTE "The array cannot be larger than 20",0ah,0

     str5 BYTE "The sum of the negative integers is:",0

     array DWORD ARRAY_SIZE DUP(?)

    .code

     

    main PROC

     

    call Clrscr

    mov esi,OFFSET array

    mov ecx,ARRAY_SIZE

    call panduan

    call PromptForIntegers

    call ArraySum

    call DisplaySum

    exit

    main endp

     

    panduan PROC USES edx              ;判断用户待输入的数据数量是否大于系统可以接受的数据处理数量

         mov  edx,OFFSET str3

         call WriteString

         call ReadInt

         call Crlf

         mov ebx,20

         cmp ebx,eax

         mov edi,eax

         JNC L1

         mov  edx,OFFSET str4

         call WriteString

         exit

    L1:  ret

    panduan ENDP

     

    PromptForIntegers PROC USES ecx edx esi      ;接受输入的处理数据

    mov   edx,OFFSET str1

         mov ecx,edi

    L1:  call WriteString

         call ReadInt

         call Crlf

         mov  [esi],eax

         add  esi,TYPE DWORD

         loop L1

         ret

       PromptForIntegers ENDP

     

    ArraySum PROC USES esi ecx           ;进行求和运算

         mov eax,0

         mov ebx,0

         mov edx,0

    L1:  cmp [esi],edx

         jl  L2

         add eax,[esi]

     

         jmp L3

         L2: add ebx,[esi]

     

         L3: add esi,TYPE DWORD

         loop L1

          ret

     

    ArraySum ENDP

     

    DisplaySum PROC  USES edx           ;显示最后的和

         mov edx,OFFSET str2

         call WriteString

         call WriteInt

         call Crlf

         mov edx,OFFSET str5

         mov eax,ebx

         call writestring

         call writeint

         call Crlf

     

    ret

    DisplaySum ENDP

     

    END main

    效果截图:

    总结

    在本次实验当中遇到了循环的使用、各种函数的使用、以及逻辑的掌握与控制交互,获益匪浅,同时在本次实验中也遇到了不少汇编时的错误信息,通过百度、查询书籍,找到了相应的解决方式,使得最后代码程序成功运行实现了最后的效果!

    汇编中的功能函数的使用、以及调试是非常重要的学习内容,只有多实践才可以熟练掌握!

    展开全文
  • 商业数据分析从入门到入职(3)Excel进阶应用

    千次阅读 多人点赞 2020-09-15 13:37:08
    COUNTIF用于根据条件进行计数;有多种应用;SUMIF用于根据条件求和。VLOOKUP一般用于按行查找内容,可以嵌套或添加辅助列;可以进行跨表和跨文件查找;模糊查找一般用于区间查找;数字为文本类型时需要转换类型;...

    一、数据分类汇总与验证

    1.分类汇总

    Excel中的数据可以通过组合实现折叠部分数据,还可以打开数据,如下:
    excel data group

    如需获取数据进行测试学习,可以直接点击加QQ群 Python极客部落963624318 ,在群文件夹商业数据分析从入门到入职中下载即可。

    有很多时候,需要对某一类数据进行汇总,如产品分类为Technology的订单的总销售额为多少,如下:
    excel subtotal simple

    可以看到,要进行分类汇总,需要先进行排序
    在完成分类汇总后,自动实现组合,分为3个等级,1级为所有行的Sales总计,2级为三个商品种类的Sales汇总,3级为所有订单信息;
    要想将汇总结果复制到其他地方,需要在定位条件中选择可见单元格

    也可以删除分类汇总,如下:
    excel subtotal simple delete

    还可以进行多个汇总,如下:
    excel subtotal multi column

    分类汇总可以自动生成一列数据,可以更快速地定位单元格。

    这可以应用到给多个多行单元格合并,如下:
    excel subtotal cell combine

    显然,实现了预期的效果。

    2.数据有效性与保护工作表

    还可以对数据输入进行限制,如果不合法则不允许输入,此时需要验证数据的有效性
    如下:
    excel data effectiveness

    可以看到,可以进行数值范围限制;
    可以提供选项进行选择;
    可以限制位数;
    还可以修改提示弹出框;
    同时,只有在输入、编辑时才会触发输入限制。

    这个特性可以用来限制其他用户改写数据,即保护工作表,如下:
    excel data edit limit

    显然,此时修改数据都会报错。

    二、公式与函数

    1.公式与函数基本使用

    公式用=开始,简单使用如下:
    excel formula function = simple

    可以看到,实现了两个数的相加,但是要加的数很多时,如果手动输入,显然会很麻烦。
    此时需要用新的工具进行计算,即函数,如求和就用sum()函数,如下:
    excel formula function = multi

    可以看到,不仅支持求和计算,而且在数据改变之后,结果也会同步改变,并且可以复制函数到其他位置。

    Excel公式的组成部分:
    函数、引用、运算符和常量。
    比如对于公式=PI()*A@^2
    组成部分包括:

    • 函数
      PI()函数返回pi值3.14159…。
    • 引用
      如A2返回单元格A2中的值。
    • 常量
      直接输入到公式中的数字或文本值,例如2。
    • 运算符
      ^运算符表示数字的乘方,而*运算符表示数字的乘积。

    &是连字符,可以连接两个文本,如下:
    excel formula function & text link

    在Excel中也有真和假,即TRUE和FALSE,TRUE对应1,FALSE对应0。

    对一列根据条件进行不同赋值,如下:
    excel formula function true false quote

    可以看到,TRUE和FALSE可以参与运算;
    在使用表格中的值代替常量进行计算时,出现了引用的问题,默认一般是相对引用,即在进行填充时一般是使用的相同行对应列的数据,如=(A3<>"中部地区")*8+K3=(A4<>"中部地区")*8+K4,而此时K4位置的值为空,数值时默默认为0,因此结果为8;
    此时要想达到目标,需要使用绝对引用,即使用K3位置的值,此时只需要在行列序号前加$符号即可,可以选中K3按快捷键F4即可实现,变为=(A3<>"中部地区")*8+$K$3=(A4<>"中部地区")*8+$K$3等。

    还可以进行混合引用,即位置的行和列中只有一个改变,另一个不改变,不改变的用$修饰。
    如下:
    excel formula function quote mixed

    显然,通过混合引用实现了打印九九乘法表。

    函数基本用法如下:
    excel formula function base operation

    计算并填充空值如下:
    excel formula function compute fill

    显然,要填充的值都是左边第二个数除以左边第一个数,所以能一次性计算出来。

    但是很多时候,数据不是这么分布的,就得灵活应变,如下:
    excel formula function sum auto

    可以看到,此时用到了自动求和工具。

    2.逻辑判断IF

    之前判断是否是中部地区并根据两种情况计算是使用TRUE和FALSE实现的,也可以使用IF来实现。

    if判断的简单使用如下:
    excel logic judge if simple

    可以看到,如果区域为中部地区,销售单价即为建议单价,否则为建议单价+8.

    还可以进行嵌套使用:
    excel logic judge if nesting

    还可以进行更复杂的嵌套,如下:
    excel logic judge if nesting complex

    显然,if的结果可以进行相加等运算。

    除了使用if嵌套,还可以使用连字符&,如下:
    excel logic judge if nesting &

    显然,连字符也能实现同样的效果,并且用到了逻辑运算且运算AND

    有时候出现错误时,会出现错误提示,可以根据需要进行调整,使用IFERRORIFNAISERROR等。
    如下:
    excel logic judge if iferror

    现以退休为例进一步说明逻辑判断的优化:
    企业职工退休年龄是男年满60周岁;
    女工人年满50周岁,女干部年满55周岁。

    那么可能有以下几种情况:
    满60岁男职工,退休;
    60岁以下男职工,不退休;
    满50岁女职工,退休;
    50岁以下女职工,不退休;
    满55岁女干部,退休;
    55岁以下女干部,不退休;

    要使用一般的if判断,可能要嵌套很多if语句,但是其实是可以简化的,因为IF判断的实质就是条件为TRUE执行一种情况、为FALSE时执行另一种情况,因此可以简单将退休与否分为退休和不退休,其中>60岁且是 男>50岁且是女职工或者>55岁且是女干部属于退休,其他均属于不退休,此时可以如下:
    excel logic judge if two sides

    因此在最终产生的结果只有两种情况时,可以采用这种方式。

    3.COUNTIF

    COUNTIF用于根据条件进行计数,符合某个条件则计数,否则不计数,类似的用法还包括COUNTIFSSUMIF等。

    简单使用如下:
    excel logic judge countif simple

    计数时使用较复杂的条件如下:
    excel logic judge countif condition

    显然,有多个条件时,可以分别计数再进行算术计算。

    有多个条件要满足时,还可以使用COUNTIFS,如下:
    excel logic judge countif countifs

    此时可以根据多个条件进行计数。

    4.COUNTIF应用

    重复验证

    很多时候会出现重复数据,这是可以对数据进行计数,如果计数大于1则说明出现了重复。

    如下:
    excel repeat countif

    可以看到,数据为文本型数据,在进行计数时会根据前15位进行计数,因此在对A3、A11、A12进行计数时会重复,此时可以通过在后面连接通配符解决。

    还可以限制输入重复数据,这是结合数据验证实现的,如下:
    excel repeat countif norepeat

    报名统计

    有一个联系人名单,其中有部分已报名,也有对应的名单,根据已报名名单对所有联系人名单进行统计,是否报名,如下:
    excel application enroll is_enrolled

    显然,很快自动统计出是否报名;
    这是通过IFCOUNTIF结合使用实现的,Excel中结合各种工具可以实现很丰富的功能。

    还可以填充颜色,需要使用到条件格式
    excel application enroll condition style

    可以看到,对符合条件的数据进行了筛选;
    同时数据发生变化时,结果也会同步变化。

    5.SUMIF

    COUNTIF类似,SUMIF是根据条件进行求和的,简单使用如下:
    excel sumif simple

    待求和数据所在的列和条件所在的列不是同一列时,稍微复杂一点,如下:
    excel sumif different column

    显然,此时需要传递3个参数,才能求和。

    还可以根据多个条件进行求和,有多种方式,一种方式是增加辅助列拼接两个条件,再进行求和,如下:
    excel sumif multi condition new line

    可以看到,计算出来的结果是依赖于辅助列的,如果删除或修改辅助列,结果也会发生变化。

    还有一种方式是直接使用SUMIFS函数,如下:
    excel sumif multi condition sumifs

    显然,得到了同样的结果。

    还可以进行更加灵活的使用,如简写参数,如下:
    excel sumif shorten params

    此时也可以求出结果,这范围选择了全部数据,才可以这么简写,一般条件下应该慎重选择这种方式。

    对于一定的库存,需要限制出货量不能超过库存,这也可以通过SUMIF来实现,如下:
    excel sumif storage verify

    显然,实现了通过SUMIF来限制输入的效果。

    三、VLOOKUP的使用

    1.VLOOKUP的基本用法

    Excel中的VLOOKUP函数一般用于在表格或区域中按行查找内容,如下:

    VLOOKUP(lookup_value,table_array,col_index_num, [range_lookup])
    

    意义如下:

    VLOOKUP (你想要查找的内容,要查找的位置,包含要返回的值的区域中的列号,返回近似或精确匹配-表示为 1/TRUE或0/FALSE)

    通俗一点,参数即为找什么、去哪找、具体结果、精确/模糊;
    会从查找区域的最左边的列查找;
    当存在多条满足条件的记录时,只能返回第1条满足条件的记录;
    区域包括所有查找部分以及结果部分

    简单使用示意如下:
    excel vlookup simple

    再如:
    excel vlookup simple 2

    显然,可以实现查找。

    vlookup还可以实现嵌套查找,即联合两张表查找,如下:
    excel vlookup join tables

    显然,通过嵌套VLOOKUP,实现了两张表的联合查找。

    也可以实现多匹配,即查找多个条件,可以通过添加辅助列实现,如下:
    excel vlookup multi match

    需要注意,辅助列要加在第一列,否则会查找失败。

    2.跨表和跨文件查找

    VLOOKUP还可以实现跨表查找,即查询涉及两个或多个工作表。
    如下:
    excel vlookup cross table

    有时候要查询的数据在选中的范围中不能完全匹配、而只是其中的一部分,此时可以选择拼接通配符字符串
    如下:
    excel vlookup cross table &

    除了跨表,还可以实现跨文件,如下:
    excel vlookup cross file

    3.模糊查找

    之前都是的查找方式都是精确查找,即最后一个参数为0,其实还可以为1,即模糊查找。

    模糊查找可以用于区间查找,需要区间是有序的,查找的原理是二分查找。
    如下:
    excel vlookup fuzzy match

    还可以用于打标签,如下:
    excel vlookup tag

    4.文本VLOOKUP和HLOOKUP

    在进行查找时,如果被查找的数据或者选中的区域中有文本形式的数字时,需要进行类型转换,如:
    数字转换成文本时,用连字符连接一个空字符串;
    文本转化成数字时,用*1+0--等方式。

    如下:
    excel vlookup text

    显然,是通过if条件判断来实现的;
    同时需要转换数据类型。

    除了VLOOKUP用于纵向查找,还有HLOOKUP用于横向查找,两者可以结合使用。
    如下:
    excel vlookup hlookup

    显然,使用了HLOOKUP后,可以实现同步更新。

    5.Match和Index

    MatchVLOOKUP用法类似,返回的是行和列的序号;
    Index用于根据行和列查找数据;
    两者可以结合使用,先用Match定位,再用Index查找,这比VLOOKUP的应用更广,可以进行反向查找,即要查找的数据不在选中区域的第一列。

    两者的简单使用如下:
    excel vlookup match index

    两者结合使用如下:
    excel vlookup match index combine

    此时,可以通过后面查找前面,避开了VLOOKUP的限制。

    6.返回多列

    VLOOKUP也可以和Match结合使用,可以实现返回多列的效果。
    如下:
    excel vlookup match combine

    需要注意,这里要使用混合引用,否则会出错。

    再如:
    excel vlookup match multi line

    VLOOKUP一般只会返回查询到的第一条数据,但是可以增加辅助列为相同数据进行排序、拼接成唯一的值,从而满足VLOOKUP的条件。
    如下:
    excel vlookup match repeat

    7.数组与多匹配

    使用数组的方式实现VLOOKUP的多匹配,如下:
    excel vlookup multi match &

    需要注意,此时因为涉及到数组,不能直接按Ctrl,而应该是Ctrl+Shift+Enter,才能正常查询到值;
    =VLOOKUP(E4&F4,IF({1,0},A2:A13&B2:B13,C2:C13),2,0)中,IF({1,0},A2:A13&B2:B13,C2:C13)即是一个数组,包含两列,第一列是A列和B列的连接,第二列是C列,如下:
    excel vlookup multi match & array

    可以看到,利用公式和函数隐性地生成了两列的数组。

    还可以生成其他形式的数组,如下:
    excel vlookup array matrix

    需要注意,都是按Ctrl+Shift+Enter得出的。

    这可以用于求各行乘积的总和,而不需要先计算各行的乘积,如下:
    excel vlookup array sum

    展开全文
  • C语言基础习题50例(八)36-40

    千次阅读 多人点赞 2020-06-11 20:48:26
    求一个3*3矩阵角线元素之和,先使用双重for循环输入二维数组,再根据判断条件即i和j相等时就将该元素加入求和。在一个有序数组中再插入一个数,使插入后的数组依然有序,有两种情况:这个数大于最后一个数则直接插...

    不会玩阴阳师,但我照样带你一键下载所有卡牌,并识别文字信息


    西瓜视频同步更新https://www.ixigua.com/i6836341666006172174/

    习题36

    求100之内的素数。

    实现思路:
    使用函数实现,并循环遍历依次判断。

    代码如下:

    #include <stdio.h>
    #include <math.h>
     
     int main(){
    	int isPrime(int n);
    	int i, count = 0;
    	for(i = 2; i < 101; i++){
    		if(isPrime(i)){
    			count++;
    			printf("%5d", i);
    			if(count % 5 == 0){
    				printf("\n");
    			}
    		}
    	}
    	
        return 0;
    }
    
    int isPrime(int n){
    	int i, prime = 1;
    	for(i = 2; i <= sqrt(n); i++){
    		if(n % i == 0){
    			prime = 0;
    			break;
    		}
    	}
    	return prime;
    }
    

    打印:

        2    3    5    7   11
       13   17   19   23   29
       31   37   41   43   47
       53   59   61   67   71
       73   79   83   89   97
    
    

    习题37

    对10个数进行排序。

    实现思路:
    可使用冒泡法或其他方法对数进行排序,一般都需要经过交换过程。

    代码如下:

    #include <stdio.h>
     
     int main(){
    	void sort(int ua[], int l);
    	int i, unsorted_list[] = {12, 54, 81, 3, 72, 47, 99, 32, 41, 62}, *p;
    	printf("Unsorted:\n");
    	for(i = 0; i < 10; i++){
    		printf("%d ", unsorted_list[i]);
    	}
    	p = unsorted_list;
    	int length = sizeof(unsorted_list) / sizeof(unsorted_list[0]);
    	sort(p, length);
    	printf("\nAfter sorted:\n");
    	for(i = 0; i < 10; i++){
    		printf("%d ", unsorted_list[i]);
    	}
    	
        return 0;
    }
    
    void sort(int ua[], int l){
    	int i, j, temp;
    	for(i = l - 2; i >= 0; i--){
    		for(j = 0; j <= i; j++){
    			if(ua[j] > ua[j + 1]){
    				temp = ua[j];
    				ua[j] = ua[j + 1];
    				ua[j + 1] = temp;
    			}
    		}
    	}
    }
    

    打印:

    Unsorted:
    12 54 81 3 72 47 99 32 41 62
    After sorted:
    3 12 32 41 47 54 62 72 81 99
    

    习题38

    求一个3*3矩阵对角线元素之和。

    实现思路:
    利用双重for循环控制输入二维数组,再将i和j相同的数组元素累加后输出。

    代码如下:

    #include <stdio.h>
     
     int main(){
    	int a[3][3] = {0}, i, j, sum = 0;
    	printf("Please input the 9 numbers:\n");
    	for(i = 0; i < 3; i++){
    		for(j = 0; j < 3; j++){
    			scanf("%d", &a[i][j]);
    		}
    	}
    	for(i = 0; i < 3; i++){
    		for(j = 0; j < 3; j++){
    			if(i == j){
    				sum += a[i][j];
    			}
    		}
    	}
    	printf("Sum = %d\n", sum);
    	
        return 0;
    }
    

    打印:

    Please input the 9 numbers:
    1 2 3 4 5 6 7 8 9
    Sum = 15
    
    

    习题39

    有一个已经排好序的数组。
    现输入一个数,要求插入后该数组还是有序的。

    实现思路:
    先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

    代码如下:

    #include <stdio.h>
     
     int main(){
    	int a[11] = {1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 0}, num, i, j;
    	printf("Please input the number to insert:\n");
    	scanf("%d", &num);
    	if(num >= a[9]){
    		a[10] = num;
    	}else{
    		i = 9;
    		while(a[i] > num){
    			i--;
    		}
    		for(j = 10; j > i + 1; j--){
    			a[j] = a[j - 1];
    		}
    		a[i + 1] = num;
    	}
    	for(i = 0; i < 11; i++){
    		printf("%d ", a[i]);
    	}
    	
        return 0;
    }
    

    打印:

    Please input the number to insert:
    50
    1 4 9 16 25 36 49 50 64 81 100
    

    习题40

    将一个数组逆序输出。

    实现思路:
    将数组均分成两半,用前后对应位置的元素交互即可。
    也可以通过两个数组,前后位置的元素交换。

    代码如下:

    #include <stdio.h>
    #define N 10
     
     int main(){
    	int a[N] = {1, 4, 9, 16, 25, 36, 49, 64, 81, 100}, num, i, j, temp;
    	printf("Normal order:\n");
    		for(i = 0; i < 10; i++){
    		printf("%d ", a[i]);
    	}
    	for(i = 0; i < N / 2; i++){
    		temp = a[i];
    		a[i] = a[ N - 1 - i];
    		a[ N - 1 - i] = temp;
    	}
    	printf("\nReversed order:\n");
    		for(i = 0; i < 10; i++){
    		printf("%d ", a[i]);
    	}
    	
    	
        return 0;
    }
    

    打印:

    Normal order:
    1 4 9 16 25 36 49 64 81 100
    Reversed order:
    100 81 64 49 36 25 16 9 4 1
    

    图解Python数据结构与算法-实战篇

    展开全文
  • 1、求和函数:SUM函数语法结构:SUM(number1,number2,...)SUM函数将被指定为参数的所有数字相加。每个参数都可以是区域、...它可以条件计数、条件求和、在合并单元格中进行一系列的操作。2、VLOOKUP函数VLOOKUP(loo...
  • JAVA基础_可变参数

    2018-03-03 12:59:59
    例如:对多个数进行求和,但是不知道具体有多少个这样的数。使用条件:可变参数必须是函数的最后一个变量,即在参数列表的最后可变参数用 … 表示调用可变参数的方法时,编译器会为该可变参数隐含创建一个数组,在
  • MongoDB的聚合操作

    2017-02-18 16:21:37
    作用: 1)文档进行过滤,筛选出符合条件的文档; 2)数据处理(如统计平均数,求和等) 3)文档进行变换,改变...pipeline 数组格式,由个节点组成的管道(条件过滤、分组操作等) options 选项   字段
  • 实例023 利用条件断点进行程序调试 实例024 利用数据断点进行程序调试 实例025 利用消息断点进行程序调试 实例026 利用Watch调试窗口查看对象信息 实例027 利用Call Stack窗口查看函数调用信息 实例028 利用...
  • 实例023 利用条件断点进行程序调试 实例024 利用数据断点进行程序调试 实例025 利用消息断点进行程序调试 实例026 利用Watch调试窗口查看对象信息 实例027 利用Call Stack窗口查看函数调用信息 实例028 利用...
  • 2. 符合条件的数据求和—— SUMIFS 函数 统计 5 班中语文名次、数学名次均位于前 20 名同学的总分之和 。在相应单元格内输入公式 “=SUMIFS(M2:M80, A2:A80,"5",D2:D80,",F2:F80,")”,按下回车键就一切 OK。如...
  • 面试题36:数组中的逆序:这道题可以这么想,我们要找到数组中的逆序,可以看做数据进行排序,需要交换数组中的元素的次数,但是防止相同大小的元素发生交换,因此需要选择一个稳定的排序方法,记录发生交换的...
  • 实例101 使用快速排序法一维数组进行排序 实例102 使用直接插入法一维数组进行排序 实例103 使用希尔排序法一维数组进行排序 实例104 使用Sort方法对数组进行快速排序 实例105 反转数组中元素的顺序 4.3...
  • 实例101 使用快速排序法一维数组进行排序 实例102 使用直接插入法一维数组进行排序 实例103 使用希尔排序法一维数组进行排序 实例104 使用Sort方法对数组进行快速排序 实例105 反转数组中元素的顺序 4.3...
  • 实例101 使用快速排序法一维数组进行排序 实例102 使用直接插入法一维数组进行排序 实例103 使用希尔排序法一维数组进行排序 实例104 使用Sort方法对数组进行快速排序 实例105 反转数组中元素的顺序 4.3...
  • 1.6.3 创建对多个工作表中相同单元格区域的三维引用 30 1.6.4 更新跨工作簿引用的公式 31 1.7 审核公式 31 1.7.1 使用公式错误检查器 32 1.7.2 定位特定类型的数据 33 1.7.3 追踪单元格之间的关系 33 1.7.4 ...
  •  实例101 使用快速排序法一维数组进行排序 119  实例102 使用直接插入法一维数组进行排序 121  实例103 使用希尔排序法一维数组进行排序 122  实例104 使用Sort方法对数组进行快速排序 124  实例105 ...
  • 实例101 使用快速排序法一维数组进行排序 119 实例102 使用直接插入法一维数组进行排序 121 实例103 使用希尔排序法一维数组进行排序 122 实例104 使用Sort方法对数组进行快速排序 124 实例105 反转数组中元素...
  • │ │ 技巧204 单字段多条件求和.xls │ │ 技巧205 使用通配符模糊求和.xls │ │ 技巧206 日计帐中的余额累计.xls │ │ 技巧207 数据表实现动态小计.xls │ │ 技巧208 SUM数组公式计数与求和.xls │ │ ...
  • 3、两个有序数组进行合并:设有如下数组A、B,并假设两个数组的元素都已经有序(从大到小降序排列)。编程序,合并A、B数组形成一个新的数组C,并使C的元素仍有序(从大到小降序排列)。 int A[10]={123, 86,80, ...
  • 7.4.2 统计满足条件的单元格数量 7.4.3 使用AND筛选条件 7.4.4 使用OR条件 7.4.5 综合使用AND和OR筛选条件 7.4.6 出现频率最高的项的计数 7.4.7 确定特定文本的出现频率 7.4.8 统计唯一值的数目 7.4.9...
  • 7.4.2 统计满足条件的单元格数量 7.4.3 使用AND筛选条件 7.4.4 使用OR条件 7.4.5 综合使用AND和OR筛选条件 7.4.6 出现频率最高的项的计数 7.4.7 确定特定文本的出现频率 7.4.8 统计唯一值的数目 7.4.9...
  • Java范例开发大全 (源程序)

    热门讨论 2011-04-27 07:47:22
     实例65 数组求和计算 90  实例66 求最大值、最小值和平均值 91  5.2 二维数组 92  实例67 二维数组的创建与使用 92  实例68 矩阵转置 93  实例69 奇数阶幻方 94  实例70 求方阵角线之和 96  实例...
  • java范例开发大全源代码

    热门讨论 2011-10-30 23:31:51
     实例65 数组求和计算 90  实例66 求最大值、最小值和平均值 91  5.2 二维数组 92  实例67 二维数组的创建与使用 92  实例68 矩阵转置 93  实例69 奇数阶幻方 94  实例70 求方阵角线之和 96 ...
  • java范例开发大全

    2013-03-08 20:06:54
    实例65 数组求和计算 90 实例66 求最大值、最小值和平均值 91 5.2 二维数组 92 实例67 二维数组的创建与使用 92 实例68 矩阵转置 93 实例69 奇数阶幻方 94 实例70 求方阵角线之和 96 实例71 矩阵的加法 97 实例72 ...
  • 136.在Excel中对多进行填充 137.对选定的范围进行数据填充(忽略单元格格式) 138.VBA Project加密及解密 139.列出收藏夹中的网址 140.计算两个日期之间相隔的年份,比如年龄,工龄等.可计算从1000年01月01日起的...
  • C语言经典例题100道

    2011-01-10 13:14:03
    10个数进行排序 38.求3*3矩阵角线元素之和 39.数字插入数组重新排序 40.将一个数组逆序输出 41.static定义静态变量用法 42.使用auto定义变量用法 43.使用static的另一用法 44.使用external的用法 45.使用...
  • Java范例开发大全(全书源程序)

    热门讨论 2013-04-05 11:50:26
    实例65 数组求和计算 90 实例66 求最大值、最小值和平均值 91 5.2 二维数组 92 实例67 二维数组的创建与使用 92 实例68 矩阵转置 93 实例69 奇数阶幻方 94 实例70 求方阵角线之和 96 实例71 矩阵的加法 97...
  • 实例181 数据进行多条件排序 实例182 统计结果进行排序 实例183 按姓氏笔画排序 实例184 按姓氏拼音排序 实例185 按仓库分组统计图书库存(多列) 实例186 多表分组统计 实例187 使用compute 实例188 使用compute ...
  •  4.4.10 根据内部颜色单元格求和  4.4.11 统计非重复值的数量  4.4.12 删除区域中重复的值  4.4.13 在区域中查找第一个非空单元格  4.4.14 替换个字符  4.4.15 从文本中获取数字  4.4.16 将星期...
  • 本书全面介绍了应用C语言进行开发的各种技术和技巧,全书共分12章,内容包括基础知识、指针、数据结构、算法、数学应用、文件操作、库函数应用、图形图像、系统调用、加解密与安全性、游戏、综合应用等。全书共提供...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

对多条件进行数组求和