C语言编程——冒泡排序法。要求:由主函数调用排序子函数,对n个整数进行从小到大的排序,谢了

如题所述

#include<stdio.h>
void sort(int a[],int n)
{
int i;
int j;
for(i=1;i<n;i++) //n个程序 排n-1次
{
for(j=0;j<n-i;j++)
{
if(a[j]>a[j+1]) //从小到达,前面的比后面的大,则互换。
{
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
int main()
{
int a[10]={1,3,5,7,9,2,4,6,8,10};
sort(a,10);
int i;
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
getchar();
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-06-19
#include <stdio.h>
void sort(int a[],int n)
{
int i;
int j;
for(i=1;i<n;i++) //n个程序 排n-1次
{
for(j=0;j<n-i;j++)
{
if(a[j]>a[j+1]) //从小到达,前面的比后面的大,则互换。
{
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
int main()
{
int a[10]={1,3,5,7,9,2,4,6,8,10};
sort(a,10);
int i;
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
getchar();
return 0;
}
第2个回答  2020-12-31

第3个回答  2011-12-08
#include<stdio.h>
#define N 10
void paixu(int *arr,int n)
{
int i;
int j;
int t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(arr[j]>arr[j+1])
{
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
}
void main()
{
int arr[N];
int i;
printf("请输入%d个要排序的数字!\n",N);
for(i=0;i<N;i++)
scanf("%d",&arr[i]);

paixu(arr,N);

for(i=0;i<10;i++)
printf("%d ",arr[i]);

printf("\n");
}
相似回答