高手看看小程序,改错

来源:百度知道 编辑:UC知道 时间:2024/05/22 18:11:39
我想实现输入一批数,以-1结束输入,输出其中的最大和最小数。我写的程序不知道错在哪里了,帮我看看啊?
#include<iostream>
using namespace std;
void main()
{
int *a=new int[];
int max=0,min=0;
int i,j;
max=min=a[0];
for(j=0;a[j]!='-1';j++)
{ cin>>a[j];

}
for(i=0;i<k;i++)
{ if(max<a[i])
max=a[i];
else
min=a[i];
}
cout<<"max:"<<max<<" "<<"min:"<<min<<endl;
}

不需要开数组,因为你只要最大最小,一边输入一边比较就可以了,大的记在max里小的记在min里;

#include<iostream>
using namespace std;
void main()
{
int a;
int max,min;
int i,j;

cin>>a;
max=min=a;
if (a == -1) {
cout<<"max:"<<max<<" "<<"min:"<<min<<endl;
exit(0);
}; //这个条件语句考虑如果第一个数就输入-1

for( ; ; ) // 无限循环
{ cin>>a;
if (a == -1) break; // 如果输入-1,表示结束。
if(max <a ) max=a;
else
min=a;
}
cout<<"max:"<<max<<" "<<"min:"<<min<<endl;
}

你写的这是啥了呀~~
条件怎么能是 a[j]!='-1' a[j]?????
还有
for(i=0;i<k;i++)
这个k是????
满脑子问号!!
重写吧!

#include<iostream>
using namespace std;
void main()
{
int *a=new int[100]; // 动态分配要指定分配长度(这里的100可以适当取大)
// 虽然不指定在这里也不会出错,但实际上系统应该只给它分配了一个int类型的