下载此文档

函数调用时参数传递方式.ppt


文档分类:通信/电子 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
main()
{
void Swap(int iA,int iB); /*函数声明*/
int iA,iB; /*定义变量iA,iB*/
printf(“Input iA iB=”); scanf(“%d%d”,&iA,&iB); printf(“\r\n”); /*键盘输入iA,iB的值*/
printf(“a=%d,b=%d\n”,iA,iB); ①/*输出iA,iB的值*/
Swap(iA,iB); /*调用Swap函数*/
printf(“a=%d,b=%d\n”,iA,iB); ②/*再次输出iA,iB的值*/
}
void Swap(int iA,int iB) /*定义Swap函数*/
{
int iTemp; /*定义数据交换的中间变量iTemp*/
printf(“a=%d,b=%d\n”,iA,iB); ③/*输出iA,iB的值*/
iTemp=iA; /*交换iA,iB的值*/
iA=iB;
iB=iTemp;
printf(“a=%d,b=%d\n”,iA,iB); ④/*再次输出iA,iB的值*/
return; /*Swap函数无返回值,故return后无参数。当然连return也可省略*/
}
3·2·2 数组元素作函数参数
例4_3_5 两个队进行“掰手腕”比赛,每队5名选手,每次每队出一名选手,由每队教练决定各自选手的出场顺序,共进行5场比赛,决出胜负。我们这里做个假设,比赛都是体重较重的人获胜,这样各队选手的出场顺序就非常关键了。输入排好顺序的各队的1~5号选手的体重,比较一下谁能获胜。
分析:定义fTeama[5]、fTeamb[5]数组存储两队选手的体重。定义函数Judge来比较选手的体重,若Teama队选手体重大,就返回值1;若Teamb队选手体重大,就返回值-1。再定义两个变量对各队的胜利次数进行累加,最后再进行比较,决出胜利者。
main()
{
int Judge(float fA,float fB); /*函数声明*/
float fTeama[5],fTeamb[5]; int i,iA=0,iB=0;
printf(“Please input Team A:\n”);
for(i=0;i<5;i++) scanf(“%f”,fTeama[i]); /*输入数组Teama*/
printf(“Please input Team B:\n”);
for(i=0;i<5;i++) scanf(“%f”,fTeamb[i]); /*输入数组Teamb*/
for(i=0;i<5;i++) /*由i控制循环,共循环5次,也就是调用5次函数*/
if(Judge(fTeama[i],fTeamb[i])= =1) /*,调用Judge函数判断fTeama[i]与fTeamb[i]的大*/
iA++; /* 小,若返回值是1,则表示Teama获胜,iA自增*/
else /*若返回值是-1,则表示Teamb获胜,iB自增*/
if(Judge(fTeama[i],fTeamb[i])= =-1) iB++;
if(iA>iB) scanf(“%f”,fTeamb[i]); /*比较iA和iB的大小,输出相应的信息*/
else printf(“Team B Win!\n”);
}
int Judge(float fA,float fB) /* Judge函数用于比较体重,实参、与形参类型必须一致*/
{
if(fA>fB) return(1); /*如果fA大于fB,函数返回值是1*/
else if(fA<fB) return(-1); /*否则函数返回值是-1*/
}
3·2·3 数组名作函数参数
例4_3_6 已知一个班10名学生的计算机考试成绩,求平均成绩。要求:在主函数main中输入10个成绩,并输出最后的平均成绩;求平均成绩的过程用函数完成。
分析:这是本节的例 4_1_1,前面是用一个主函数完成的。10个已知数据我们仍然把它们组织成一个数组iScore[10]。要用函数计算数组10个元素的平均值,就应该由主调函数将这10个数组元素传递给被调函数,我们将数组作为一个整体传递给被调函数。实参表列就写数组名即可,形参表列就写与实参数组同类型的数组。
/* */
main()
{
float Average(int iScore[10]); /*函数声明*/
int iScore[10],i; float fAver;
for(i=0;i<10;i++) scanf(“%d”,&iScore[i]); /*输入10个成绩*/
fAver=Average(iScore

函数调用时参数传递方式 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人薄荷牛奶
  • 文件大小78 KB
  • 时间2018-10-22