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

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

第1个回答  推荐于2018-04-12
#include<iostream>//不要加.h,会出现很多问题
#include <iomanip> // 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]<list[j+1])
{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:"<<endl;
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<<setw(3)<<a[i];
cout<<endl;
system("pause");
return 0;
}本回答被提问者和网友采纳
第2个回答  2008-08-12
#include "stdio.h"
void Choice(int a[],int n)
{
int temp,pos;
for(int i=0;i<n-1;i++)
{

pos=i;
for(int j=i+1;j<n;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<n;t++)
{
printf("%d ",a[t]);
}
printf("\n");
}

void BubbleSort(int pData[],int Count)
{
int iTemp;
for(int i=0;i<Count-1;i++)
{
for(int j=0;j<Count-i-1;j++)
{
if(pData[j]<pData[j+1])
{
iTemp = pData[j+1];
pData[j+1] = pData[j];
pData[j] = iTemp;
}
}
}
printf("冒泡排序:");
for(int t=0;t<Count;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个回答  2008-08-12
冒泡法:
#include <stdio.h>
#include <stdlib.h>
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;}
}
}
}
相似回答