编程实现用冒泡法将键盘输入的10个整数按从小到大的顺序排序要求排序功能用自定义函数实现

如题所述

#include<stdio.h>
void main()
{
void small_big(int m[],int n);
int i;
int a[10];
printf("please input 10 nums:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
small_big(a,10);
printf("the array is:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
getchar();
}
void small_big(int m[],int n)
{
int i,j,k,t;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(m[j]<m[k])
k=j;
t=m[k];m[k]=m[i];m[i]=t;
}
}试试看喽,自己写的,没问题的!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-01
C语言实现,sort为自定义函数
#include<stdio.h>
void sort(int a[10],int n)
{
int t;
int i;
int j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
void main()
{
int fs_main[10];
int i;
for(i=0;i<10;i++)
{
scanf("%d",&fs_main[i]);
}

sort(fs_main,10);
for(i=0;i<10;i++)
{
printf("%3d",fs_main[i]);
}
}
第2个回答  2011-04-01
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 小测试吧
{
class Classone
{
static void Main()
{
int[] arr = new int[10];
for (int i = 0; i < 10; i++)
{
arr[i] = int.Parse(Console.ReadLine ());
}
sort(ref arr);
for (int i = 0; i < 10; i++)
{
Console.WriteLine(arr[i]);
}
}

public static void sort(ref int[] array)
{
int temp;
for (int i = 0; i < array.Length - 1; i++)
{
for (int j = i + 1; j < array.Length; j++)
{
if (array[j] < array[i])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}

}
}
}
第3个回答  2011-04-01
void sort_ascending(int x[],int p)
{
int i,j,t;
for(i=1;i<=p-1;i++)
for(j=1;j<=p-i;j++)
if(x[j-1]>x[j])
{
t=x[j-1];
x[j-1]=x[j];
x[j]=t;
}
}
第4个回答  2011-04-01
#define N 10
void sort(int *input,int n);
main()
{
int input[N];
for(int i=0;i<N;i++)
cin>>input[i]];
sort(input,N);
for(i=0;i<N;i++) cout<<input[i]<<endl
}
void sort(int *input,int n)
{
for(int i=0;i<n-1;i++)
{
min=array[i];
for(int j=i+1;j<n;j++)
{
if(min>input[j])
{
min=input[j];
input[i]=input[i]^input[j];
input[j]=input[j]^input[i];
input[i]=input[i]^input[j];
}
}
}
}
相似回答