今天给大家带来冒泡法基础算法程序:
1.运用数组,程序如下:
#include<stdio.h>
#define N 10
int main()
{
int a[N],i,j,t;
printf("input 10 number:");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
printf("the array after sort:\n");
for(i=0;i<N;i++)
printf("%d\n",a[i]);
printf("\n");
return 0;
}
2.运用指针,程序如下:
#include<stdio.h>
#include<malloc.h>
int main()
{
int i,j,n,temp,*p;
printf("enter number of elements in the array:\n");
scanf("%d",&n);
p=(int *)malloc(n*sizeof(int));
if(p==NULL)
{
printf("memory error\n");
return 0;
}
for(i=0;i<n;i++)
{
printf("enter element no.%d:",i+1);
scanf("%d",p+i);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(*(p+i)>*(p+j))
{
temp=*(p+i);
*(p+i)=*(p+j);
*(p+j)=temp;
}
}
}
for(i=0;i<n;i++)
{
printf("%d\n",*(p+i));
}
free(p);
p=NULL;
}
*如果直接复制粘贴,可能会出现unknown character '0xa1的错误,这时你可以采取1.自己打一遍代码;2.将代码粘贴到Word文档,然后用替代功能把全角空格换成英文输入下的空格即可。