笔试题目1:写一个函数,返回一个数组中所有元素被第一个元素除的结果

很多人会想到如下:

void DivAarry(int *pArray,int size)

{

for(int i=size-1;i>=0;i--)

{

pArray[i] /= pArray[0];

}

}

问题1:可不可以把循环正着写,会出现什么问题

问题2:是否检查了除数为零的情况

对于问题1,显然是不可以的,如果正着写亦即:

for(int i=0;i<size;i++)

{

pArray[i] /= pArray[0];

}

这样一来当i=0是,数组的第一个元素变成了1,以后这个除数就会一直是1,而不是原来数组的一个数,不符合要求

修改后:

void DivArray(int *pArray,int size)

{

for(int i=size-1;i>=0;i--)

{

if(pArray[0]==0)

cout<<"error"<<endl;

else

pArray[i] /=pArray[0];

}

}

这样写下来发现是可以的,但是有一个问题,当size足够大时,效率却出问题了,因为每次都要判断数组第一个元素是否为零,这样浪费时间了,可以将其放在循环外面,

结果就编成了下面的代码:

void DivArray(int *pArray,int size)

{

if (pArray[0]==0) cout<<"error"<<endl;

else

for(int i=size-1;i>=0;i--)

{

pArray[i] /=pArray[0];

}

}

转载于:https://www.cnblogs.com/sun-mile-rain/archive/2013/04/01/2993664.html

编程之美--读书笔记--返回一个数组中所有元素被第一个元素除的结果相关推荐

  1. c语言找出一个数组中出现次数最多的那个元素,c语言找出数组中出现次数最多地那个元素...

    matlab中如何找出不同维度矩阵出现次数最多的数组并记录其个数 首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;2 ...

  2. 找出一个数组中出现次数最多的那个元素

    Description 找出一个数组中出现次数最多的那个元素 Input 多组输入,请处理到文件结束 每组第一行输入一个整数n(不大于20) 第二行输入n个整数 Output 找出n个整数中出现次数最 ...

  3. 编程之美 - 读书笔记 - 卖书折扣问题的贪心解法

    <编程之美>读书笔记(四):卖书折扣问题的贪心解法 每 次看完<编程之美>中的问题,想要亲自演算一下或深入思考的时候,都觉得时间过得很快,动辄一两个小时,如果再把代码敲一遍的话 ...

  4. 编程之美读书笔记2.1—求二进制数中1的个数

    解法一: 可以举一个8位二进制的例子.对于二进制操纵,我们除以一个2,原来数字就会减少一个0(向右移一位).如果除的过程中有余,那么久表示当前位置有一个1. 以10100010为例: 第一次除以2时, ...

  5. Java并发编程之美读书笔记-并发编程基础2

    2019独角兽企业重金招聘Python工程师标准>>> 1.线程的通知与等待 Java中的Object类是所有类的父亲,鉴于继承机制,Java把所有类都需要的方法放到了Object类 ...

  6. 编程之美读书笔记之-高效率的安排见面会

    问题一: n个同学,分别对m个招聘见面会感兴趣.为了满足所有学生的要求,hr希望让每个同学都能参加自己所有感兴趣的见面会.然后每个见面会的时间为t.问如何安排见面会能够使得所有见面会总的时间最短. 建 ...

  7. 编程之美 - 读书笔记 - 烙饼问题与搜索树

    前 面已经写了一些关于烙饼问题的简单分析,但因为那天太累有些意犹未尽,今天再充实一些内容那这个问题研究透.我想,通过这篇文章,我们就可以把这一类问题 搞懂.再遇到优化问题,如果我们想不到别的办法,就可 ...

  8. 【编程之美/读书笔记】Chapter 1 游戏之乐

    这里就不写每个问题的题目了,只是记录一下自己的总结和心得. 1.1 让CPU占用率听你指挥 这个题目我刚接触的想法是和多核多线程要扯上关系的,因为自己写个死循环只能跑到CPU 35%左右的占用率,但是 ...

  9. 中国象棋将帅问题java_编程之美读书笔记1.2——中国象棋将帅问题

    http://blog.csdn.net/pipisorry/article/details/36380669 问题:下过中国象棋的朋友都知道,双方的"将"和"帅&quo ...

最新文章

  1. LNMP架构——OpenResty实现缓存前移(到达Nginx前端层面)
  2. [盘点]从《行者无疆》开始了解欧洲
  3. 手把手教你用Python玩转时序数据,从采样、预测到聚类
  4. 报名|首届中国智慧城市大数据开放创新应用大赛
  5. Task中的异常处理
  6. QT的QParameter类的使用
  7. java io内存泄露_java内存泄露和OutOfMemory
  8. HDU 4281 Judges' response [MTSP]
  9. Angular Model
  10. Python代码优化之in关键字
  11. 《老码识途》读书笔记:第一章(中)
  12. 浙江大学的”程序设计入门-C语言课程“截图
  13. 计算机考研408复试题汇总
  14. 如何将1000页PPT单独导出为1000个单独的文件?又如何快速把多个PPT合成一个?
  15. oracle rman crosscheck,rman的crosscheck命令
  16. Linux服务器的eth,Linux服务器---网络配置
  17. Farey sequences
  18. 东芝Boot Speed设置成Fast,如何再次进入bios设置。
  19. Android Studio 2.0+Gradle 2.12编译Oculus Mobile SDK
  20. 向unity Asset Store提交资源-边做边记

热门文章

  1. 十八、PHP框架Laravel学习笔记——模型的增删改
  2. 二、MyBatis常用对象分析 封装工具类
  3. 四、操作系统——读者写者问题(详解)
  4. LeetCode 3. 无重复字符的最长子串(滑动窗口+哈希)
  5. 如何选择数据结构和算法(转)
  6. LeetCode 200. 岛屿数量(图的遍历)
  7. unity python_Unity引擎内嵌python
  8. el表达式 循环_EL表达式和JSTL标签库(百战程序员047天)
  9. NLP领域的首次Hard Label黑盒攻击!
  10. 全栈深度学习第5期: 神经网络调试技巧