c++小白问题…………帮我看一下这个程序……是从大到小排列数字的程序
#include<iostream>#include<iomanip>usingnamespacestd;intmain(){inti;inta[6];for(i=0;i...
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int i;
int a[6];
for(i=0;i<5;i++)
cin>>a[i];
int j,k;
j=i+1;
for(i=0;i<5;i++)
{if (a[i]<a[j])
k=a[i];
a[i]=a[j];
a[j]=k;
}
for(i=0;i<5;i++)
cout<<a[i]<<endl;
}
是5个数排序,不是说a【】里面的数大于等于5就可以的吗? 展开
#include <iomanip>
using namespace std;
int main()
{
int i;
int a[6];
for(i=0;i<5;i++)
cin>>a[i];
int j,k;
j=i+1;
for(i=0;i<5;i++)
{if (a[i]<a[j])
k=a[i];
a[i]=a[j];
a[j]=k;
}
for(i=0;i<5;i++)
cout<<a[i]<<endl;
}
是5个数排序,不是说a【】里面的数大于等于5就可以的吗? 展开
9个回答
展开全部
///////////////有问题请追问 记得采纳哦/////////////////////
5 3 1 2 6
6
5
3
2
1
Press any key to continue
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int i;
int a[5];
for(i=0;i<5;i++)
cin>>a[i];
int j,k;
for(i=0;i<5-1;i++)
{
for (j=0;j<5-i-1;j++)
{
if (a[j]<a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
for(i=0;i<5;i++)
cout<<a[i]<<endl;
}
5 3 1 2 6
6
5
3
2
1
Press any key to continue
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int i;
int a[5];
for(i=0;i<5;i++)
cin>>a[i];
int j,k;
for(i=0;i<5-1;i++)
{
for (j=0;j<5-i-1;j++)
{
if (a[j]<a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
for(i=0;i<5;i++)
cout<<a[i]<<endl;
}
展开全部
j+i+1;这句应该写在for循环里,而且if应该把下面三句括起来
for(i=0;i<5;i++)
{
j=i+1;
if (a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
for(i=0;i<5;i++)
{
j=i+1;
if (a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个程序有点问题,在比较替换那里。
应该是这样:
int main()
{
int i;
int a[6];
for(i=0;i<5;i++)
cin>>a[i]; // 给数组a录入5个数据。
int k; //设置一个临时变量
for(i=0;i<5;i++)
{if (a[i]<a[j])
k=a[i];
a[i+1]=a[i];
a[i]=k; //从第一个与后面的比较,如果后面的大 则交换
}
for(i=0;i<5;i++)
cout<<a[i]<<endl; //输入排序好的数组
}
还有哪一句不懂滴
应该是这样:
int main()
{
int i;
int a[6];
for(i=0;i<5;i++)
cin>>a[i]; // 给数组a录入5个数据。
int k; //设置一个临时变量
for(i=0;i<5;i++)
{if (a[i]<a[j])
k=a[i];
a[i+1]=a[i];
a[i]=k; //从第一个与后面的比较,如果后面的大 则交换
}
for(i=0;i<5;i++)
cout<<a[i]<<endl; //输入排序好的数组
}
还有哪一句不懂滴
追问
总是出现这句 12.obj : error LNK2005: _main already defined in bg.obj
追答
我这边不能调试,应该是你环境问题。
我没看懂你为啥要加这个 #include
你把这个删除掉 再新建一个工程 试试看
难度大了 我上面的交换那里写错了。。。悲剧
应该是这样
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
{
{if (a[i]<a[j])
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
{
{if (a[i]<a[j])
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
for(j=i+1;j<5;j++)
{
{if (a[i]<a[j])
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
int main(void)
{
int i;
int a[6];
for(i=0;i<6;i++)
cin>>a[i];
int j,temp;
for(i=0;i<6;i++)
{
for(j=i+1;j<6;j++){
if (a[i]<a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<6;i++)
cout<<a[i]<<"\t";
system("pause");
return 0;
}
在VS2010中编译通过
using namespace std;
int main(void)
{
int i;
int a[6];
for(i=0;i<6;i++)
cin>>a[i];
int j,temp;
for(i=0;i<6;i++)
{
for(j=i+1;j<6;j++){
if (a[i]<a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<6;i++)
cout<<a[i]<<"\t";
system("pause");
return 0;
}
在VS2010中编译通过
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题不少,你是要输入五个数还是六个数,要是输入六个数,为什么循环只循环到5就结束了?
排序算法也不正确。
排序算法也不正确。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询