用比较法给十个数排序(用数组做函数参数)

1.数组做函数参数时,因为形参和实参之间传递的是首地址,所以形参数组和实参数组享用同一个内存单元

2.因此,只要形参数组元素的值发生改变,实参数组元素也随之改变

3.用数组名做参数时,形参数组可以不指定大小,设置另外一个参数,确定传递的元素的个数

#include <stdio.h>
void sort(int x[],int n)
{
int i,j,k,t;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(x[i]<x[j])
{t=x[i];x[i]=x[j];x[j]=t;}
}
void main()
{
int a[10],i;
printf("输入十个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,10);
printf("排列后的十个数:\n");
for(i=0;i<10;i++)
printf(" %d",a[i]);
}

 

 

亦或者也可以不另外设置参数确定传递的元素的个数

#include <stdio.h>
void sort(int x[10])
{
int i,j,k,t;
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(x[i]<x[j])
{t=x[i];x[i]=x[j];x[j]=t;}
}
void main()
{
int a[10],i;
printf("输入十个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a);
printf("排列后的十个数:\n");
for(i=0;i<10;i++)
printf(" %d",a[i]);
}

 

posted @ 2022-01-30 21:57  冬123  阅读(425)  评论(0)    收藏  举报