bbc记录片:有冒泡算法,怎样用主函数调用

来源:百度文库 编辑:中科新闻网 时间:2024/05/06 04:31:22
bubsort(inta[],int n)
{
int change,i,j;
int w;
for(i=n-1,change=1;i>&&change;--i)
{
change=0;
for(j=0;j<i;++j)
if(a[j]>a[j+1])
{
w=a[j];a[j]=a[j+1];a[j+1]=w;
change=1;}
}
}
要求用住函数调用它,我写了主函数,但总是有错误,说是这个算法没返回值
主函数要用for循环输出数组!
要求就用这个算法,再用一个主函数调用它,
给一个数组(5个数)排序

试试这么写:

#include <stdio.h>
#define NUM 5 /*需要几个数这里就填几*/

void main()
{
int a[NUM]={0};
int i = 0;
for(i=0;i<NUM;i++)
{
printf("input #%d number:\n",i+1);
scanf("%d",a+i);
}

bubsort(a,NUM);
printf("After sort :\n");
for(i=0;i<NUM;i++)
printf("#%d : %d \n",i+1,a[i]);
}

从哪学的呀,都叫这种名字?!l g

我帮你写了个冒泡算法的在vc下可以通过~~参考一下咯~呵呵~
#include <stdio.h>
void bubsort(int a[],int n)
{
int i,j,w;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;++j)
if(a[j]>a[j+1])
{
w=a[j];a[j]=a[j+1];a[j+1]=w;
}
}
}
void main()
{
int a[10]={1,2,6,5,4,3,9,8,10,7};
int i;
for(i=0;i<sizeof(a)/sizeof(int);i++)
{
printf("%d\t\n",a[i]);
}
bubsort(a,10);//函数调用
printf("排序后为:\n");
for(i=0;i<sizeof(a)/sizeof(int);i++)
{
printf("%d\t\n",a[i]);
}
}