#include<iostream>
using namespace std;
int main()
{
int n,i;
cin>>n;
int a[n];
cin>>a[n];
int max=a[1],min=a[i];
for(i=1;i<=n;i++)
{
if(a[i]>max)
{
max=a[i];
}
if(a[i]<min)
{
min=a[i];
}
}
cout<<max<<" ";
cout<<min;
}
C++不允许使用变量来定义数组的长度。int a[n];这么用是错误的。
int max=a[1],min=a[i];这里,i没有初始化,a[i]直接会崩掉的
输入数据的时候 cin>> a[n]这么写是错误的。
代码修改如下,如有帮助,请帮忙采纳一下,谢谢。
#include<iostream>
using namespace std;
int main()
{
int n,i;
cin>>n;
int *a = new int[n]; //a[n]
//cin>>a[n];
int max,min;//=a[1],min=a[i];
for(i=0;i<n;i++)
{
cin >> a[i];
if(i==0)
{
max = a[i];
min = a[i];
}
if(a[i]>max)
{
max=a[i];
}
if(a[i]<min)
{
min=a[i];
}
}
cout<<max<<" ";
cout<<min;
//释放空间
delete[] a;
a = 0;
return 0;
}
cin>>a[n];
这么不行,得用循环逐个元素输入
for(int i=0;i<n;i++)
cin>>a[i];
另外下标从0开始
int max=a[1],min=a[i];
改为
int max = a[0],min = a[0];