...法排列任意输入的10个数,用程序输出从小到大的排列具体过程,谢谢...
发布网友
发布时间:2024-10-24 00:28
我来回答
共5个回答
热心网友
时间:1分钟前
//回答补充,晕,原来是这样的过程,我把以前的过程删除了,下面:
#include <stdio.h>
#define N 10
int main()
{
int nArray[N];
int i=0,n=1;
printf("请输入数组数据:\n");
for(i=0;i<N;i++)
{
scanf("%d",&nArray[i]);
}
printf("原始数据为:\n");
for(i=0;i<N;i++)
{
printf("%d ",nArray[i]);
}
printf("\n");
//开始冒泡
printf("\n排序过程:\n");
int temp;
for(i=N-1;i>0;i--)
{
for(int j=0;j<i;j++)
{
if(nArray[j]>nArray[j+1])//由大到小排则修改为<号
{
temp=nArray[j];
nArray[j]=nArray[j+1];
nArray[j+1]=temp;
//printf("第%d个%-5d 同 第%d个%-5d 交换\n",j,nArray[j],j+1,nArray[j+1]);
printf("第%d步:\t",n);
for(int k=0;k<N;k++)
{
printf("%d ",nArray[k]);
}
printf("\n");
n++;
}
}
}
printf("排序过程结束\n\n");
//结束冒泡
printf("排序结果:\n");
for(i=0;i<N;i++)
{
printf("%d ",nArray[i]);
}
printf("\n");
return 0;
}
热心网友
时间:4分钟前
#include <iostream>
using namespace std;
int main()
{
int a[10],i,j,t;
cout<<"input ten numbers:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];//输入10个数
for(i=0;i<9;i++)//冒泡法
for (j=0;j<9-i;j++)
if(a[j]>a[j+1])//从小到大
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<10;i++)
cout<<'\t'<<a[i];//输出排列后数据
return 0;
}
热心网友
时间:2分钟前
#include <stdio.h>
int main()
{
int a[10] = {0};
int i, j;
for(i = 0;i < 10;i++)
scanf("%d", &a[i]);
for(i = 0;i < 10;i++)
for(j = i+1;j<10;j++)
if(a[i] > a[j])
{
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
printf("排序之后为:\n");
for(i = 0;i < 10;i++)
printf("%d\t", a[i]);
printf("\n");
}
热心网友
时间:1分钟前
printf("plese input the number\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++) /*冒泡排序*/
for(j=1;j<n-i ;j++)
if(a[j-1]>a[j] )
{
temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
for(i=0;i<10;i++)
printf("%d ",a[i]); /*输出排序后的结果*/
热心网友
时间:1分钟前
1.冒泡法:
这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡:
#include <iostream.h>
void BubbleSort(int* pData,int Count)
{
int iTemp;
for(int i=1;i<Count;i++)
{
for(int j=Count-1;j>=i;j--)
{
if(pData[j]<pData[j-1])
{
iTemp = pData[j-1];
pData[j-1] = pData[j];
pData[j] = iTemp;
}
}
}
}
void main()
{
int data[] = {10,9,8,7,6,5,4};
BubbleSort(data,7);
for (int i=0;i<7;i++)
cout<<data[i]<<