从键盘上任意输入10个数,分别用选择法排序和冒泡法按由发大到小的顺序输出

2024-11-27 09:24:04
推荐回答(3个)
回答1:

#include//不要加.h,会出现很多问题
#include // io 流控制头文件, 主要是一些操纵用法如setw(int n),
//setprecision(int n) setbase(int n),setfill(char c)的.
using namespace std;

void BubbleSort(int *list)
{
int i,j,temp;
bool exchange;
for(i=0;i<10;i++)
{ exchange=false;
for(j=0;j<10-i;j++)
{ if(list[j] {temp=list[j];list[j]=list[j+1];list[j+1]=temp;}
exchange=true;
}
if(!exchange)
return;
}
}
int main(int argc, char* argv[])
{
int N=10,a[10],m;
cout<<"input 10 number:"< for(int i=0;i<10;i++)
cin>>a[i];
BubbleSort(a);
cout.setf(ios::left);//left标志属于iso类
for(int i=0;i<10;i++)
cout< cout< system("pause");
return 0;
}

回答2:

#include "stdio.h"
void Choice(int a[],int n)
{
int temp,pos;
for(int i=0;i {

pos=i;
for(int j=i+1;j {
if(a[j]>a[pos])
{
pos=j;
}
}
if(i!=pos)
{
temp=a[pos];
a[pos]=a[i];
a[i]=temp;
}

}
printf("选择排序:");
for(int t=0;t {
printf("%d ",a[t]);
}
printf("\n");
}

void BubbleSort(int pData[],int Count)
{
int iTemp;
for(int i=0;i {
for(int j=0;j {
if(pData[j] {
iTemp = pData[j+1];
pData[j+1] = pData[j];
pData[j] = iTemp;
}
}
}
printf("冒泡排序:");
for(int t=0;t {
printf("%d ",pData[t]);
}
}
void main()
{
int data[10] ;
for (int i=0;i<10;i++)
scanf("%d",&data[i]);
Choice(data,10);
BubbleSort(data,10);

}

原来的写错了

回答3:

冒泡法:
#include
#include
int main()
{
int a[10];
int s;
printf("请输入十个数:\n");
for (s=0;s<10;s++)
scanf("%d",&a[s]);
int i,j,num;
for (i=0;i<10-1;i++)
{
for (j=0;j<9-i;j++)
{if (a[j]>a[j+1])
{num=a[j];a[j]=a[j+1];a[j+1]=num;}
}
}
}