永发信息网

c语言 使用冒泡排序将一维数组A中的N个元素升序排列

答案:4  悬赏:0  手机版
解决时间 2021-01-08 03:12
  • 提问者网友:遁入空寂
  • 2021-01-07 04:23
c语言 使用冒泡排序将一维数组A中的N个元素升序排列
最佳答案
  • 五星知识达人网友:迟山
  • 2021-01-07 04:35
#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 scanf("%d",p+i);
for(i=1;i {
for(j=0;j if(p[j]>p[j+1])
{
temp=p[j];
p[j]=p[j+1];
p[j+1]=temp;
}

}
printf("排序结果!\n");
for(i=0;i printf("%5d",p[i]);
printf("\n");
return 0;
}
全部回答
  • 1楼网友:英雄的欲望
  • 2021-01-07 07:27
#include "stdio.h"
int main()
{
   int a[100],n,i,j,tmp;
   scanf("%d",&n);
   for(i=0;i      scanf("%d",&a[i]);
   for(i=0;i     for(j=0;j       if(a[j]>a[j+1])
       {
          tmp=a[j];
          a[j]=a[j+1];
          a[j+1]=tmp;
        }
   for(i=0;i      printf("%d ",a[i]);
   printf(" ");
}
结果:
  • 2楼网友:时间的尘埃
  • 2021-01-07 07:04
#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;
}
  • 3楼网友:春色三分
  • 2021-01-07 06:02
我这给出一个不用指针,不用手动分配内存空间的
相对 精简易懂 的方法
#include
int main()
{
int N,A[N];
int i,j,temp;
printf("请输入数组大小!\n");
scanf("%d",&N);
printf("请为%d个元素赋值\n",N);
for(i=0;iscanf("%d",&A[i]);
for(i=0;ifor(j=0;jif(A[j]>A[j+1])
{
temp=A[j];
A[j]=A[j+1];
A[j+1]=temp;
}
}
printf("排序结果:\n");
for(i=0;iprintf("%d ",A[i]);
printf("\n");
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯