此程序代码采用冒泡排序数组,并且输出,可是输出结果不正确,为什么解决办法
此程序代码采用冒泡排序数组,并且输出,可是输出结果不正确,为什么
#include <iostream>
#include <cstring>
using namespace std;
void Range(int argn[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(argn[j]>argn[j+1])
t=argn[j];
argn[j]=argn[j+1];
argn[j+1]=t;
}
}
for(i=0;i<n;i++)
{
cout<<argn[i]<<" ";
}
cout<<endl;
}
int main()
{
int array1[10]={5,6,7,3,2,4,13,11,17,10};
Range(array1,10);
return 0;
}
------解决方案--------------------
#include <iostream>
#include <cstring>
using namespace std;
void Range(int argn[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(argn[j]>argn[j+1])
t=argn[j];
argn[j]=argn[j+1];
argn[j+1]=t;
}
}
for(i=0;i<n;i++)
{
cout<<argn[i]<<" ";
}
cout<<endl;
}
int main()
{
int array1[10]={5,6,7,3,2,4,13,11,17,10};
Range(array1,10);
return 0;
}
------解决方案--------------------
- C/C++ code
#include <iostream> #include <cstring> using namespace std; void Range(int argn[],int n) { int i,j,t; for(i=0;i<n-1;i++) { for(j=0;j<n-i-1;j++) { if(argn[j]>argn[j+1]) { // 这些语句应该括起来 t=argn[j]; argn[j]=argn[j+1]; argn[j+1]=t; } } } for(i=0;i<n;i++) { cout<<argn[i]<<" "; } cout<<endl; } int main() { int array1[10]={5,6,7,3,2,4,13,11,17,10}; Range(array1,10); return 0; }