方法和详细的操作步骤如下:
1、第一步,打开C文件,定义一组序列和要排序的各种变量,然后处理排序逻辑,具体的代码见下图,转到下面的步骤。
2、第二步,完成上述步骤后,冒泡排序的逻辑是一组数字从第一个值开始,如果两个相邻数字的顺序与期望的顺序不同,则会交换两个数字的位置。 重复此过程,直到最后一个数字。如果需要交换,则排序完成,实现的代码见下图,转到下面的步骤。
3、第三步,完成上述步骤后,编译并运行程序,就获得了想要的结果了,见下图。这样,就解决了这个问题了。
#include
#include
int main()
{
int *p=NULL,n=0;
int i,j,temp;
printf("请输入数组大小!\n");
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);
if(p==NULL)
{
printf("内存不足分配失败!\n");
return 0;
}
printf("请为%d个元素赋值如 1 2 3\n",n);
for(i=0;i
for(i=1;i
for(j=0;j
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}
}
printf("排序结果!\n");
for(i=0;i
printf("\n");
return 0;
}
#include
int main()
{
int t,i,j,a[100],n;
scanf("%d",&n);
for(i=0;iscanf("%d",&a[i]);
for(i=1;ifor(j=1;j<=n-i;j++)
{
if(a[j] {
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
for(i=0;iprintf("%d ",a[i]);
return 0;
}
#include "stdio.h"
int main()
{
int a[100],n,i,j,tmp;
scanf("%d",&n);
for(i=0;iscanf("%d",&a[i]);
for(i=0;ifor(j=0;j if(a[j]>a[j+1])
{
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
for(i=0;iprintf("%d ",a[i]);
printf("\n");
}
结果:
我这给出一个不用指针,不用手动分配内存空间的
相对 精简易懂 的方法
#include
int main()
{
int N,A[N];
int i,j,temp;
printf("请输入数组大小!\n");
scanf("%d",&N);
printf("请为%d个元素赋值\n",N);
for(i=0;i
for(i=0;i
{
temp=A[j];
A[j]=A[j+1];
A[j+1]=temp;
}
}
printf("排序结果:\n");
for(i=0;i
printf("\n");
return 0;
}