编程之美 - 写一个函数,返回数组中所有元素被第一个元素除的结果

问题:

写一个函数,返回数组中所有元素被第一个元素除的结果,包含第一个元素,也要自己除自己

分析:

主要注意两点:1,判断输入是否合法;2,判断除数是否为0;3,从后往前除(真猥琐)

代码实现:

 1 /* div_array.cc
 2 *  2014/09/03 create
 3 *  写一个函数,返回数组中所有元素被第一个元素除的结果,包含第一个元素,也要自己除自己
 4 */
 5 #include <iostream>
 6 using namespace std;
 7 
 8 void div_array(int* parray, int size) {
 9     //判断输入是否合法
10     if(parray == NULL || size == 0)
11         return;
12     //判断除数是否为0
13     if(parray[0] == 0)
14         return;
15     //从后往前除以第一个元素
16     for(int i = size -1 ; i >= 0; i--)
17         parray[i] /= parray[0];
18 }
19 
20 int main() {
21     int array[5] = {3, 12, 7, 5, 1} ;
22     div_array(array, sizeof(array)/sizeof(array[0]));
23     for(int i = 0; i < sizeof(array)/sizeof(array[0]); i++)
24         cout << array[i] << " ";
25     return 0;
26 }

 

输出:

$ ./a.exe
1 4 2 1 0

 

posted on 2014-09-03 23:27  醉清风JM  阅读(574)  评论(0编辑  收藏  举报

导航