#include
using namespace std;
void arrayl();
void otherarrayl();
int num;
int main()
{
int a[]={10,20,30,40,50,60,70,80,90,100};
for(int i=0;i<10;i++)
cout<<a[i]<<",";
cout<<endl<<endl<<"input num=";
cin>>num;
otherarrayl();
if(a[9]>num)
{
cout<<a[9];
}
else
{
cout<<num;
}
}
void arrayl()
{
int a[]={10,20,30,40,50,60,70,80,90,100},i,j;
for(j=0;j<=10;j++)
{
if(a[j-1]>num)
{
break;
}
if(num>a[j-1]&&num<a[j])
{
a[j+1]=a[j];
a[j]=num;
}
cout<<a[j]<<",";
}
}
void otherarrayl()
{
arrayl();
int a[]={10,20,30,40,50,60,70,80,90,100},i,j;
for(i=0;i {
if(a[i]>num)
cout<<a[i+1]<<",";
}
cout<<endl;
}
有2个地方数组访问越界,dev和vc对没有初始化的数据给的初值不一样吧
void arrayl()
{
int a[] = { 10,20,30,40,50,60,70,80,90,100 }, i, j;
for (j = 0; j < 10; j++) //不存在a[10],所以j只能到9,去除等号
{
if (a[j - 1] > num)
{
break;
}
if (num > a[j - 1] && num < a[j])
{
a[j + 1] = a[j];
a[j] = num;
}
cout << a[j] << ",";
}
}
void otherarrayl()
{
arrayl();
int a[] = { 10,20,30,40,50,60,70,80,90,100 }, i, j;
for (i = 0; i < 9; i++) { //数组10个元素,下标到9,但下面用到i+1,所以i<9
if (a[i] > num)
cout << a[i + 1] << ",";
}
cout << endl;
}