定义一个有10个元素的数组,给数组元素赋值后,用指针实现冒泡排序,输出排序后的数组元素值,运行效果如图所示。
代码如下:
#include<stdio.h>
#define N 10
int main()
{
int num[N];
for(int i=0;i<N;i++)
{
scanf("%d",&num[i]);
}
int temp;
int *p=num;
printf("排序前:\n");
for(int i=0;i<N;i++)
{
printf("%d\t",num[i]);
}
for(int i = 0; i < N - 1; i++)// 外层循环控制轮数
{
for (int j = 0; j < N - i - 1; j++) // 内层循环控制次数
{
if (*(p+j) >*(p+j+1))
{
temp = *(p+j);
*(p+j) = *(p+j+1);
*(p+j+1) = temp;
}
}
}
printf("\n排序后:\n");
for(int i=0;i<N;i++)
{
printf("%d\t",num[i]);
}
return 0;
}