c语言自定义函数案例情景,第4周 C语言及程序设计提高例程-3 体验自定义函数...

引子1-输出信息新方法

问题及代码:

void printstars();

void printmessage();

int main()

{

printstars();

printmessage();

printstars();

return 0;

}

void printstars()

{

printf("*************\n");

}

void printmessage()

{

printf("Hello, world.\n");

}

运行结果:

1033e6a43c138e757c16c375cfeef8a6.png

知识总结:

自定义函数的运用

学习心得:

掌握整体的编写框架,将其模块化,写出整体的流程,流程步骤中直接调用函数。

2、引子2-输出星号图

问题及代码:

#include

void printstars(int m)

{

int j;

for(j=0;j

printf("*");

return;

}

int main()

{

int i;

for(i=0;i<=6;i++)//控制行数

{

printstars(2*i-1);

printf("\n");

}

return 0;

}运行结果:

58dde95049ef2ef6d2b8db04fa72b8f4.png

知识总结:

有参数的自定义函数

学习心得:

自定义函数体也可放在后面补充来写,主要刚开始的自定义函数有“;”,后面的则没有。

注意,无返回自定义函数体只需return不用0。

函数参数,让处理更加灵活

#include

void printchs(int m, char ch) //定义能输出m个符号ch的函数

{

int j;

for (j=1; j<=m; ++j)

putchar(ch);

}

int main()

{

int i;

for(i=1; i<=6; ++i)

{

printchs(6-i,' '); //可以自定义各种类型的字符

printchs(2*i-1,'*') ;

printf("\n");

}

return 0;

}

bfd345abcc93cb8669e5b577690b400d.png

知识总结:

可自定义各种字符

学习心得:

注意这里用到putchar(ch)

引子3-最大公约数和最小公倍数

问题及代码:

#include

int gcd(int n1,int n2);

int lcm(int n1,int n2);

int main ()

{

int num1,num2;

int iGcd,iLcm;//最大公约数和最小公倍数

printf("请输入两个数字:");

scanf("%d %d",&num1,&num2);

iGcd=gcd(num1,num2);

iLcm=lcm(num1,num2);

printf("最大公约数是:%d",iGcd);

printf("最小公倍数是:%d",iLcm);

return 0;

}

int gcd(int n1,int n2)

{

int r;

while(n2!=0)//利用辗除法,直到n2为0止

{

r=n1%n2;

n1=n2;

n2=r;

}

return n1;//当n2=0时跳出循环,同时返回到前一个值即n1.

}

int lcm(int n1,int n2)

{

return n1*n2/gcd(n1,n2);//最小公倍数等于两数之积除以其最大公约数

}

运行结果:

edb9402db5f69271b131f46ca553285f.png

知识总结:

自定义函数的具体运用,求最大公约数和最小公倍数的算法。

学习心得:

对这两个算法刚开始不是特别理解,后来又复习了一下最大公约数和最小公倍数的概念。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值