C语言 编写一个函数,void sort_bubble(int* p, int n)

编写一个函数,void sort_bubble(int* p, int n),其中整数n代表数组的大小。在main函数中输入10个任意整数,调用这个函数对其进行排序,并输出排序后的结果。

在线等...高手帮帮忙

思路:对于排序,最简单的就是冒泡排序了,再sort_bubble函数中使用冒泡排序对整型数组排序,最后再输出。

参考代码:

#include "stdio.h"
#define N 10
void sort_bubble(int* p, int n){
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(p[j]>p[j+1]) {//p[j]>p[j+1]表示从小到大;可以改成p[j]<p[j+1]表示从大到小 
temp= p[j];
p[j]=p[j+1];
p[j+1]=temp;

}
int main()
{
  int a[N],i;
  for(i=0;i<N;i++)//输入数组 
  scanf("%d",&a[i]);
  sort_bubble(a,N);//排序 
  for(i=0;i<N;i++)//输出数组 
  printf("%d ",a[i]);
  return 0;
}
/*
运行结果:
1 25 4 8 96 5 44 88 56 92
1 4 5 8 25 44 56 88 92 96
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-29
#include <stdio.h>

void sort_bubble(int* p, int n){
int i,j,t;
for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if (p[j] > p[i]) {t=p[i];p[i]=p[j];p[j]=t;}
}

main()
{
int i,x[10];
printf("Please enter 10 int data:\n");
for(i=0;i<10;i++) scanf("%d",&x[i]);

sort_bubble(x,10);
for (i=0;i<10;i++) printf("%d ",x[i]);
printf("\n");
system("pause");
}本回答被网友采纳