...由大到小的次序将它们显示到屏幕上。用插入排序法
发布网友
发布时间:2024-01-16 11:52
我来回答
共4个回答
热心网友
时间:2024-04-24 17:51
代码如下,有问题可以追问我:
==========================================================================
#include <stdio.h>
main()
{
int a[10];
int i,j,k;
printf("Please enter 10 number : ");
for(i=0; i<10; i++) scanf("%d",&a[i]);
for(i=1; i<10; i++) /* 插入排序主算法 */
{
k = a[i];
for (j=i-1; j>=0 && k<a[j]; j--) /* 仅仅修改此处即可修改排序方式 */
a[j+1] = a[j];
a[j+1] = k;
}
printf("10 number after sort : ");
for(i=0; i<10; i++) printf("%d ",a[i]);
getch();
}
热心网友
时间:2024-04-24 17:57
#include<iostream>
using namespace std;
int main()
{
int i,j;
int k;
int temp;
int a[10];
printf("请输入10个数: \n");
for (i=1;i<11;i++)
{
printf("第%d个数: ",i+1);
scanf("%d",&a[i]);
}
for(i = 1;i<10;++i)
{
temp = a[i];
for(j=i;j>0&&temp<a[j-1];--j)
{
a[j]=a[j-1];
}
a[j]=temp;
}
for(k=1;k<11;++k)//输出结果。
cout<<a[k]<<" ";
cout<<endl;
return 0;
}
热心网友
时间:2024-04-24 17:55
#include<stdio.h>
#define N 10
insert_sort(int a[],int n)
{
int i,j,temp;
for(i = 1;i < n;i++){
temp = a[i];
for(j = i -1;j >= 0 && temp > a[j];j--)
a[j+1] = a[j];
a[j+1] = temp;
}
}
int main(void)
{
int a[N] = {0};
int i, num;
srand(time(NULL));
printf("排序前:");
for(i = 0; i < N; i++) {
a[i] = rand() % 100;
printf("%d ",a[i]);
}
insert_sort(a,N);
printf("\n排序后:");
for(i = 0; i < N; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
热心网友
时间:2024-04-24 17:59
一楼的使用c++输入格式的