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

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

问题:

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

分析:

主要注意两点: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     //判断除数是否为013     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.exe1 4 2 1 0

 

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