编写函数a将数组中所有能被三整除的数都存放在另一个数组,编写主函数实现数组定义数组,数组调用函数a并输出结果
代码中,arr函数接收两个参数,分别是原数组a和用于存放能被三整除的数的数组b。在函数中,对于原数组a中能被三整除的数,将其存放到数组b中。在主函数中,首先定义数组c和d,并从标准输入中读取数组c的元素。然后,调用arr函数,将能被三整除的数存放到数组d中。最后,遍历数组d中的元素,输出不为零的数。
#include<iostream>
using namespace std;
int arr(int a[10], int b[10]) {
for (int i = 0; i < 10; i++) {
if (a[i] % 3 == 0) {
b[i] = a[i];
}
}
}
int main() {
int c[10], d[10];
for (int j = 0; j < 10; j++) {
cin >> c[j];
}
arr(c, d);
for (int k = 0; k < 10; k++) {
if (d[k] != 0) {
cout << d[k] << endl;
}
}
return 0;
}
寻找可以被3整除的函数中,可以单独定义一个下标变量用于指示存储在数组b中可以被3整除的整除的存储位置;
然后因为定义存储结果的数组b为全局变量,所以不需要再返回数组b,可以返回可以被3整除的个数,然后在主函数中根据这一个数来打印存储在数组b中的相应位置的结果。
修改如下:
#include <iostream>
using namespace std;
int i,n,b[10];
int arr(int a[10]) {
int num=0;
for(i=0;i<10;i++){
if(a[i]%3==0){
b[num]=a[i]; //数组b单独使用一个下标变量来指示存储被3整除的数的位置
num++;
}
}
return num; // 因为定义了存储结果的数组为全局变量,所以这里返回被3整除的整数的个数,以打印结果
}
int main(void){
int c[10],j,k,d[10];
for(j=0;j<10;j++){
cin>>c[j];
}
// for(j=0;j<10;j++){
// cout<<c[j]<< " ";
// }
// cout<<endl;
int num=arr(c);
for(k=0;k<num;k++){ // 根据函数的返回值来打印数组b中的结果
cout<< b[k]<<endl;
}
return 0;
}