定义递归函数实现用"起泡法"对输入的N个数(采用数组存储)按从大到小排序,并设计主函数进行调用;
答案:2 悬赏:20 手机版
解决时间 2021-01-12 20:09
- 提问者网友:送舟行
- 2021-01-12 06:25
定义递归函数实现用"起泡法"对输入的N个数(采用数组存储)按从大到小排序,并设计主函数进行调用;
最佳答案
- 五星知识达人网友:迟山
- 2021-01-12 06:40
#include
void sort(int a[],int n)
{int i,t;
for(i=0;i
if(n>1)sort(a,n-1);
}
int main()
{int a[200],i,n;
scanf("%d",&n);
for(i=0;i
sort(a,n);
for(i=0;i
return 0;
}
全部回答
- 1楼网友:孤独入客枕
- 2021-01-12 07:25
#include
#include
//1. 降序冒泡排序方法:
void bubble(int array[], int length)
{
bool exchanged = true;
for (int i = length - 1; i > 0 && exchanged; i--)
{
exchanged = false;
for (int j = 0; j < i; j++)
{
if (array[j] < array[j + 1])
{
array[j] = array[j] + array[j + 1];
array[j + 1] = array[j] - array[j + 1];
array[j] = array[j] - array[j + 1];
exchanged = true;
}
}
}
}
//2. 打印函数
void print(int array[], int length)
{
for(int i = 0; i < length; i++)
printf("%d ", array[i]);
printf("\n");
}
//3. 主函数
void main()
{
int n;
int *array;
scanf("%d", n); //输入N
if (n <= 0) //待排序的数个数小于等于零就无需处理了
return;
array = (int *)malloc(sizeof(int) * n); //申请数组空间
for (int i = 0; i < n; i++)
{
scanf("%d", &array[i]);
}
print(array,n); //输入序列
bubble(array, n); //排序
print(array,n); //输出序列
free(array);
}
#include
//1. 降序冒泡排序方法:
void bubble(int array[], int length)
{
bool exchanged = true;
for (int i = length - 1; i > 0 && exchanged; i--)
{
exchanged = false;
for (int j = 0; j < i; j++)
{
if (array[j] < array[j + 1])
{
array[j] = array[j] + array[j + 1];
array[j + 1] = array[j] - array[j + 1];
array[j] = array[j] - array[j + 1];
exchanged = true;
}
}
}
}
//2. 打印函数
void print(int array[], int length)
{
for(int i = 0; i < length; i++)
printf("%d ", array[i]);
printf("\n");
}
//3. 主函数
void main()
{
int n;
int *array;
scanf("%d", n); //输入N
if (n <= 0) //待排序的数个数小于等于零就无需处理了
return;
array = (int *)malloc(sizeof(int) * n); //申请数组空间
for (int i = 0; i < n; i++)
{
scanf("%d", &array[i]);
}
print(array,n); //输入序列
bubble(array, n); //排序
print(array,n); //输出序列
free(array);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯