定义一个函数sort(int array[10],int len),其中参数array表示传入的整形数组,len表示数组的长度,用于排

定义一个函数sort(int array[10],int len),其中参数array表示传入的整形数组,len表示数组的长度,用于排序;
定义一个函数input(int array[10],int len),参数同上,用于输入一组数据;
定义一个函数output(int array[10],int len),参数同上,用于输出排序后结果;
在main函数中定义数组,并调用上述函数完成排序。

以下是我在VC++2010中实现的,由于你没有指定语言和排序类型,我用的C,按升序排序。改成C++也很容易。

本例按照提问者要求设计为输入10个以内的任意整数,如制定为10个,可删除main()函数中第2、3行,将n直接赋值为10即可。

-------------------------------------------------------------------

#include<stdio.h>

void sort(int array[10], int len);

void input(int array[10], int len);

void output(int array[10], int len);

int main(void)

{

 int number[10], n;

 printf("输入你想要排序的数字个数:");

 scanf("%d", &n);

 input(number, n);

 sort(number, n);

 output(number, n);

 return 0;

}

void sort(int array[10], int len)

{ //冒泡法排序

 int i, j, temp;

 for (i = 0; i < len - 1; i++)

 {

  for (j = 0; j < len - 1 - i; j++)

  { /*此处为升序,将此处大于(>)改成小于(<)则为降序排序*/

   if (array[j] > array[j + 1])

   {

    temp = array[j];

    array[j] = array[j + 1];

    array[j + 1] = temp;

   }

  }

 }   

}

void input(int array[10], int len)

{

 int i;

 printf("输入你的数字:\n");

 for (i = 0; i < len; i++)

 {

  printf("The No.%d: ", i + 1);

  scanf("%d", &array[i]);

 }

}

void output(int array[10], int len)

{

 int i;

 printf("排序后:\n");

 for (i = 0; i < len; i++)

  printf("%d\t", array[i]);

 printf("\n");

}

--------------------------------------------------------

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-25
书上应该有类似的代码啊?希望下面的代码对你有所帮助:
#include <iostream>
using namespace std;

void sort( int [], int );
void input( int [], int );
void output( int [], int );

int main()
{
const int LENGTH = 10;
int array[ LENGTH ];
input( array, LENGTH );
sort( array, LENGTH );
output( array, LENGTH );
return 0;
}

void sort( int array[], int len )
{
int temp;
for( int i = 0; i < len; i++ )
for( int j = i; j < len; j++ )
if( array[ j ] > array[ i ] ) {
temp = array[ j ];
array[ j ] = array[ i ];
array[ i ] = temp;
}
}

void input( int array[], int len )
{
cout << "Please input 10 integers:\n";
for( int i = 0; i < len; i++ )
cin >> array[ i];

}
void output( int array[], int len )
{
cout << "Now, the array is:\n";
for( int i = 0; i < len; i++ )
cout << '\t' << array[ i ];
}
第2个回答  2011-03-25
这三个函数 太难了,0分不会有人费时费力地帮你敲程序,请LZ有点起码的诚意

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网