求大神解答_求大神解答下列代码哪里错了
输入4个整数,按从小到大的顺序输出
#include<iostream>
using namespace std;
int main()
{
int a[4];
int i,j,t;
cout<<"请输入四个整数"<<endl;
for(i=1;i<5;i++)
cin>>a[i];
cout<<endl;
for(j=1;j<=4;j++)
for(i=1;i<=4-j;i++)
if(a[i]>a[i+1])
{t=a[i];
a[i]=a[i+1];
a[i+1]=t;}
for(i=1;i<=4;i++)
cout<<"a[i]="<<" ";
cout<<endl;
return 0;
}
最佳答案
你的是基本概念的错,C++的下标是从0开始的
a[4]可用的下标为a[0],a[1],a[2],a[3]
所以你的程序完全不对了
另外你最终的输出也不对
以下是参考:
#include<iostream>
using namespace std;
int main()
{
int a[4];
int i, j, t;
cout << "请输入四个整数" << endl;
for(i = 0; i < 4; i++)
cin >> a[i];
cout << endl;
for(j = 0; j < 3; j++)
for(i = 0; i < 3 - j; i++)
if(a[i] > a[i + 1])
{
t = a[i];
a[i] = a[i + 1];
a[i + 1] = t;
}
for(i = 0; i <= 3; i++)
cout << a[i] << " ";
cout << endl;
return 0;
}
其他回答
暂无其它回答!