「传递一维数组」求助!!!大佬快来帮帮我!!!

题目描述:
之前我们学习了给函数传递一个普通的变量,一个指针,一个引用。

如何给函数传递一个数组呢?

实际上给函数传递一个数组等价于传递一个指针,表示数组的第一个元素的地址。

比如

下载

sum函数用来计算a数组的和,只需要传入a数组的地址,以及数组长度就可以了。

下载 (1)

修改数组的元素可以直接修改主函数中数组的值。

下载

如上我们可以用【数组名称+一个整数】的形式来进行偏移访问数组中某一个元素的地址。

比如上面的a+1就表示下标为1的元素的地址。

下载

字符数组的传递如上,遍历一个字符数组可以一直将指针往后移动,一直到碰到字符串结束符为止。
利用函数传数组参数的形式
分别求三个数组的最大值和最小值。

输入格式
第一行输入一个整数n
第二行输入n个整数,以空格隔开
第三行输入一个整数m
第四行输入m个整数,以空格隔开
第五行输入一个整数q
第六行输入q个整数,以空格隔开

输出格式
输出三行,每行两个整数。
分别表示三个数组的最大值,最小值。

约定
1<=n,m,q<=100

核心代码

for(int i=1;i<=3;i++){
		cin>>t;
		int x=99999999,d=-1;
		for(int j=1;j<=t;j++){
			cin>>c;
			if(c>d) d=c;
			if(c<x) x=c;
		}
		cout<<d<<" "<<x<<endl;
	}

AC给解决方案!!!

???

解释一下

//定义t与c
for(int i=1;i<=3;i++){
		cin>>t;//有几个数
		int x=99999999,d=-1;
		for(int j=1;j<=t;j++){
			cin>>c;//输入数
			if(c>d) d=c;//最大值判断
			if(c<x) x=c;//最小值判断
		}
		cout<<d<<" "<<x<<endl;//输出
}
// 返回 0

AC了给解决方案!!!

#include<bits/stdc++.h>
using namespace std;
int main(){
  int a,b,c;
  int a1[105],b1[105],c1[105];
  int sum1=0,sum2=0,sum3=0;
  int cnt1=0,cnt2=0,cnt3=0;
  
  cin >> a;
  for(int i=1;i<=a;i++){
    cin >> a1[i];
    sum1=max(a1[i]);
    cnt1=min(a1[i]);
  }
  cout << sum1 << " " << cnt1 << endl;

  cin >> b;
  for(int i=1;i<=b;i++){
    cin >> b1[i];
    sum2=max(b1[i]);
    cnt2=min(b1[i]);
  }
  cout << sum2 << " " << cnt2 << endl;

  cin >> c;
  for(int i=1;i<=c;i++){
    cin >> c1[i];
    sum3=max(c1[i]);
    cnt3=min(c1[i]);
  }
  cout << sum3 << " " << cnt3 << endl;
  return 0;
}

自己做的,CE,用你这个咋改

#include<bits/stdc++.h>
using namespace std;
int main(){
  int a,b,c;
  int a1[105],b1[105],c1[105];
  int sum1=0x3f3f3f3f,sum2=0x3f3f3f3f,sum3=0x3f3f3f3f;
  int cnt1=-1,cnt2=-1,cnt3=-1;
  
  cin >> a;
  for(int i=1;i<=a;i++){
    cin >> a1[i];
    sum1=min(a1[i],sum1);
    cnt1=max(a1[i],cnt1);
  }
  cout << cnt1 << " " << sum1 << endl;

  cin >> b;
  for(int i=1;i<=b;i++){
    cin >> b1[i];
    sum2=min(b1[i],sum2);
    cnt2=max(b1[i],cnt2);
  }
  cout << cnt2 << " " << sum2 << endl;

  cin >> c;
  for(int i=1;i<=c;i++){
    cin >> c1[i];
    sum3=min(c1[i],sum3);
    cnt3=max(c1[i],cnt3);
  }
  cout << cnt3 << " " << sum3 << endl;
  return 0;
}

AC了给解决方案!!!

@秦乐妍

给了

ok