C语言,数组数据升序排列

Python021

C语言,数组数据升序排列,第1张

#include <stdio.h>

#include <malloc.h>

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=0i<n++i)

scanf("%d",p+i)

for(i=1i<n++i)

{

for(j=0j<n-i++j)

if(p[j]>p[j+1])

{

temp=p[j]

p[j]=p[j+1]

p[j+1]=temp

}

}

printf("排序结果!\n")

for(i=0i<n++i)

printf("%5d",p[i])

printf("\n")

return 0

}

最好不要while循环,因为排序是二层循环

外层是比较次数,内存是交换

//

for(int j=0j<6j++)

{

  for(int i=0i<6-ji++)

  if(nums1[i] < nums1[i+1]) 

  { exc = nums1[i] 

  nums1[i] = nums1[i+1] 

  nums1[i+1] = exc k++

   } 

  }

可以。。 #include "stdio.h"

void main()

{int a[10],i,j,t

printf("enter 10 Z_nums:\n") //提示输入10个整数

for(i=0i<10i++)

scanf("%d",&a[i])

for(i=0i<9i++) //冒泡排序排列10个整数

for(j=0j<10-ij++)

if(a[j]>a[j+1])

{t=a[j]a[j]=a[j+1]a[j+1]=t} printf("The sorted nums:\n")

for(i=0i<10i++)//输出排序后的10个整数

printf("%d ",a[i])

printf("\n")

}