冒泡排序
自己写了一个冒泡排序的函数:void sort(int a[], int num)又借用了小甲鱼的函数: void bubble_sort(int array[], int length);
代码内容一样,不过为什么结果不同呢? 搞了半天不知道为什么
#include<stdio.h>
#include<stdlib.h>
void bubble_sort(int array[], int length);
void sort(int a[], int num);
void bubble_sort(int array[], int length)
{
int i, j, temp;
for (i = 0; i < length - 1; i++)
{
for (j = 0; j < length - 1 - i; j++)
{
if (array > array)
{
temp = array;
array = array;
array = temp;
}
}
}
}
void sort(int a[], int num)
{
int i , j, temp;
for(i = 0 ; i < num - 1; i++)
{
for(j = 0; j < num -1 -i; j++)
{
if(a > a);
{
temp = a;
a = a;
a = temp;
}
}
}
}
int main(void)
{
int *a, num, k = 0, i, con;
//用户确定比较个数
printf("请输入即将输入的整数个数:");
if(scanf("%d",&num) != 1)
{
printf("数据类型输入不正确-- 程序终止!");
exit(EXIT_FAILURE);
}
//开辟内存空间
a = (int *)malloc(num * sizeof(int));
if(a == NULL)
{
printf("内存空间分配失败-- 程序终止!");
exit(EXIT_FAILURE);
}
//将用户输入的数据存储
printf("输入q退出,数据输入\n");
do
{
printf("正在输入第%d个数据: ",k +1);
con =scanf("%d",&a);
k++;
}while(k < num&& con == 1);
for(i = 0; i < num ;i ++)
{
printf("a[%d]: %d\n",i,a);
}
//冒泡排序
sort(a, num);
printf("************\n");
for(i = 0; i < num ;i ++)
{
printf("%d\n",a);
}
bubble_sort(a, num);
printf("************\n");
for(i = 0; i < num ;i ++)
{
printf("%d\n",a);
}
printf("当前数据中最大的元素是:%d\n",a);
free(a);
return 0;
} if(a > a);
你的代码里面这个分号很不合时宜 4goodworld 发表于 2020-3-11 14:27
你的代码里面这个分号很不合时宜
哇谢谢 编译器没报错 我看了半天也没看出来 谢谢啦 冷回清风暖 发表于 2020-3-11 14:29
哇谢谢 编译器没报错 我看了半天也没看出来 谢谢啦
其实是我的编译器提醒了我了,哈哈
我本想先编译试试看,结果一编译就提示注意了 本帖最后由 一个账号 于 2020-3-11 14:56 编辑
领一下鱼币(虽然才 1 鱼币) 一个账号 发表于 2020-3-11 14:55
领一下鱼币(虽然才 1 鱼币)
哈哈 自己的鱼币也就十几个账号刚升级不久. whx1935 发表于 2020-3-11 14:56
领一下鱼币(虽然才 1 鱼币)
哈哈 自己的鱼币也就十几个账号刚升级不久. 按理来说编译器应该会报错的啊{:10_260:} 领一下鱼币(虽然才 1 鱼币) .
页:
[1]