游客 Signup | Login
中文 | En

2563 - 函数练习-3

编写一个函数sortInc(int *array,  int  len),其功能是对一个包含len个元素的整型数组进行从小到大的排序。

函数原型如下:

void  sortInc(int  *array,  int  len);

其中array为指向待排序数组的指针,len为数组中的元素个数。

从键盘上输入一个整数n(0<n<=100),接着输入n个整数并放入数组中,再调用上述函数对其按从小到大排序,最后将排好序的数组输出。

输出的数据之间用空格分隔。

Input

10 24 60 46 87 94 41 91 93 61 16

Output

16 24 41 46 60 61 87 91 93 94

Examples

Input

6 77 68 92 33 26 50

Output

26 33 50 68 77 92

Solution C

#include<stdio.h>
void sortInc(int *array, int len)
{
	int p,k,j,t;
	

	for(j=0;j<len-1;j++)
	{
		for(k=0;k<len-1-j;k++)
		{
			if(*(array+k)>*(array+k+1))
			{
				t=*(array+k);
				*(array+k)=*(array+k+1);
				*(array+k+1)=t;
			}
		}
	}
}
int main()
{
	int a[100],i,j;
	scanf("%d",&j);
	for(i=0;i<j;i++)
	{
		scanf("%d",&a[i]);
	}
     sortInc(a,j);
	for(i=0;i<j;i++)
	{
		printf("%d ",a[i]);
	}

	return 0;
}

Solution C++

#include<stdio.h>
int main()
{	
	void  sortInc(int *a,  int len);
	int array[100], n, i;
	int *b;
	b = array;

	scanf("%d", &n);
	for(i=0; i<n; i++)
	{
		scanf("%d", &array[i]);
	}
	
	sortInc(/*这里不能加星号*/b,  n);
	for(i=0; i<n; i++)
	{
		printf("%d ", array[i]);
	}
}


/*一定要看的地方,很容易出错*/


/*正确*/
void  sortInc(int *a,  int len)
{
	int  i, j, t;

	for(i=0; i<len-1; i++)
	{
		for(j=0; j<len-1-i; j++)
		{
			if(*(a+j) > *(a+j+1))
			{
				t = *(a+j);
				*(a+j) = *(a+j+1);
				*(a+j+1) = t;				
			}
		}
	}
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题