求大神解答_求大神解答下列代码哪里错了

原问题:求大神解答下列代码哪里错了
分类:编程开发 > 最后更新时间:【2016-12-22 04:58:01】
问题补充:

输入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;
}

最佳答案由网友  whoami1978  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
17

分享到:

其他回答

暂无其它回答!