#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")
}