输入一批整数,最多100个,当输入0时,结束输入。用冒泡法将这批整数按从小到大的顺序排列后输出,要求定义三个函数分别进行数组输入、输出和排序。
#include<stdio.h>
#define N 100
void inputarr (int *p,int *n);
void bubblesort(int *arr, int length);
void outputarr (int *p,int n);
void swap(int *a,int *b);
int main()
{
int a[N];
int i,n;
inputarr (a,&n);
bubblesort(a, n);
outputarr (a, n);
return 0;
}
#include <stdio.h>
#define N 100
void inputarr(int* p, int* n);
void bubblesort(int* arr, int length);
void outputarr(int* p, int n);
void swap(int* a, int* b);
int main()
{
int a[N];
int i, n;
inputarr(a, &n);
bubblesort(a, n);
outputarr(a, n);
return 0;
}
void inputarr(int* p, int* n)
{
int t;
for(*n=0;scanf("%d",&t)&&t!=0;(*n)++)
*p++=t;
}
void bubblesort(int* arr, int length)
{
int i,j;
for(i=0;i<length-1;++i)
for(j=0;j<length-i-1;++j)
if(arr[j]>arr[j+1])
swap(arr+j,arr+j+1);
}
void outputarr(int* p, int n)
{
int i;
for(i=0;i<n;++i)
printf("%d\n",*p++);
}
void swap(int* a, int* b)
{
int t;
t=*a;
*a=*b;
*b=t;
}