数组作为函数的参数使用进行数据传送的应用案例
发布时间:2022-07-06编辑:zhushican阅读(337)
【案例描述】
编写函数sorted(a,n),完成对一维整型数组a进行递增排序。n为数组的数据个数。函数没有返回值。
【案例分析】
1、由题意,函数sorted有二个参数:
(1)a:为一维数组(int类型)。
(2)n:为int类型。
2、sorted函数无返回值(void类型)。
3、由于参数a实际上传递的是数组的首地址,因此,在sorted函数体内,可通过该地址对数组元素的值进行修改。
4、递增排序的基本思路是:
(1)i=0
(2)数组元素a[i]逐一与其后的所有元素比较,得到第i个最小值的下标k
(3)将a[i]与a[k]互换
(4)i++
(5)如果i<n-1,转(2)
(6)排序完成,结束
【参考代码】
void sorted(int a[],int n)
{ int i,j,t,k;
for(i=0;i<n-1;i++)
{ k=i;
for(j=i+1;j<n;j++)
if(*(a+k)>*(a+j))k=j;
t=*(a+k);*(a+k)=*(a+i);*(a+i)=t;
}
}