#include "stdafx.h"
#include<iostream>
using namespace std;
int main()
{
int i;
int a[6]={0,3,10,5,34,90};
void AllElemDividedInArray(int b[],int n);
AllElemDividedInArray(a,6);
return 0;
}
void AllElemDividedInArray(int arr[],int size)
{
int i,temp;
if(arr[0]==0)//判断数组第一个元素是否为0;
cout<<"数组中的元素第一个元素为0,不能作为除数"<<endl;
/*
方法一,正着写数组中的循环时,要注意的是,第一个元素除以第一个元素
后,arr[0]=1了,之后的元素再除以它时,数值时不变的。所以需要
用一个临时变量保存第一个数组元素的值。
else{
for(i=0;i<size;i++)
{
if(i==0)
{
temp=arr[0];
arr[0]=1;
}
arr[i]/=temp;
cout<<arr[i]<<endl;
}
}
*/
/*
方法二,从数组中第二个元素遍历并运算,最后修改数组中第一个元素为1.
*/
else{
for(i=1;i<size;i++)
{
arr[i]/=arr[0];
}
arr[0]=1;
for(i=1;i<size;i++)
cout<<arr[i]<<endl;
}
/*
方法三,逆着写数组中的元素,此时无需考虑第一个元素会变成1的问题
else{
for(i=size-1;i>=0;i--)
//arr[i]/=arr[0];
for(i=0;i<size;i++)
cout<<arr[i]<<endl;
}
*/
}
返回一个数组中所有元素被第一个元素除的结果
最新推荐文章于 2023-09-07 22:35:34 发布