C语言程序设计 数组作函数的参数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for( i = 0 ; i < n–1;i++) /*比较的趟数*/
{
p = i;
for( j = i + 1 ; j < n ; j++) /*比较一趟*/
if( b[j] < b[p]) p = j;
if( p != i )
/*根据条件交换*/
{
med = b[p];
wenku.baidu.comb[p] = b[i];
5.3 数组作函数的参数
数组名表示数组在内存中存放的起始地址(首地址),即数组第一个元素的地址。数组 名作为函数的参数传递的是数组的起始地址,属于“地址传递”方式。
【例 5-10】 用选择法对 n 个数从小到大排序 参考程序如下:
/*程序名:5_10.c*/ /*程序功能:数组做函数参数进行排序*/ #include <stdio.h> #define N 20
b[i] = med;
}
}
}
void print(int a[ ],int n) /*输出函数*/ {
int i; printf("\n 排序后的数据为:\n"); for( i = 0 ; i < n ; i++)
printf("%2d ",a[i]); printf("\n"); }
程序运行如下:
scanf("%d",&a[i]); printf("\n 原始数据为:\n");
for( i = 0 ; i < n ; i++) printf("%d ",a[i]);
printf("\n"); }
void selectsort(int b[ ],int n) /*排序函数*/ {
int i,j,p,med;
int main() {
void enter(int [ ],int ); void selectsort(int [ ],int); void print(int [ ],int ); int a[N],n;
printf("输入排序的数据个数:\n");
scanf("%d",&n);
enter(a,n);
/*调用输入数据的函数*/
selectsort(a,n); /*调用排序函数*/
print(a,n);
/*调用输出函数*/
return 0; }
void enter(int a[ ],int n) /*输入数据的函数*/ {
int i;
printf("请输入数据:\n"); for( i = 0 ; i < n ; i++)
输入排序的数据个数: 5 请输入数据: 95713 原始数据为: 95713 排序后的数据为: 13579
程序中,enter 函数的作用是输入 n 个数,存放在数组 a 中,selectsort 函数的作用 是排序,此函数形参是数组名 a,数组名表示数组在内存中的起始地址,调用函数时,数组 名和数组 b 共用内存单元,因此共享单元中的数据。print 函数的作用是将已排好序的 n 个数输出。