第3节 体验自定义函数

一.体验1:输出信息新办法

#include 
void printfstars();
void printfmessage();
int main()
{
     
	printfstars();
	printfmessage();
	printfstars();

}
void printfstars()
{
     
	printf("\n*****************\n");
}
void printfmessage()
{
     
	printf("Hello,world!");
}
运行结果:
*****************
Hello,world!
*****************

二.体验2:输出星号图

1.利用自定义函数替代嵌套循环,结构更清晰;

#include 
void printfstars(int m);
int main()
{
     
	for (int i = 1; i <= 6; ++i)
	{
     
		printfstars(2 * i - 1);
		printf("\n");
	}
}

void printfstars(int m)
{
     
	for (int i = 1; i <= m; ++i)
	{
     
		printf("*");
	}
}
运行结果:
*
***
*****
*******
*********
***********
#include 

void printfchs(int m, char ch)
{
     
	for (int i = 1; i <= m; ++i)
		putchar(ch);
}

int main()
{
     
	for (int i = 1; i <= 6; ++i)
	{
     
		printfchs(6-i,' ');
		printfchs(2 * i - 1, '*');
		printf("\n");
	}
}
运行结果:
     *
    ***
   *****
  *******
 *********
***********

2.利用自定义函数的参数,让处理更灵活,程序更简洁.

#include 

void printfchs(int m, char ch)
{
     
	for (int i = 1; i <= m; ++i)
		putchar(ch);
}

int main()
{
     
	for (int i = 1; i <= 6; ++i)
	{
     
		printfchs(6-i,'$');
		printfchs(2 * i - 1, '*');
		printfchs(6 - i, '$');
		printf("\n");
	}
}
运行结果:
$$$$$*$$$$$
$$$$***$$$$
$$$*****$$$
$$*******$$
$*********$
***********

三.体验3:求最大公约数和最小公倍数

#include 
int gcd(int n1, int n2); //求最大公约数函数声明;
int lcm(int n1, int n2); //求最小公倍数函数声明;
int main()
{
     
	int num1, num2;
	int iGcd, iLcm; //定义最大公约数,最小公倍数;
	printf("please input two numbers: ");
	scanf_s("%d %d", &num1, &num2);
	iGcd = gcd(num1, num2); //返回最大公约数;
	iLcm = lcm(num1, num2); //返回最小公倍数;
	printf("the gcd is: %d\n", iGcd); //输出最大公约数;
	printf("the lcm is: %d\n", iLcm); //输出最小公倍数;
	return 0;
}
int gcd(int n1, int n2)
{
     
	int r;
	while (n2 != 0) //利用辗转相除法求最大公约数;
	{
     
		r = n1 % n2;
		n1 = n2;
		n2 = r;
	}
	return n1; //返回最大公约数;
}

int lcm(int n1, int n2)
{
                                      //最小公倍数=两数相乘/最大公约数;
	return n1 * n2 / gcd(n1, n2); //返回最小公倍数;
}
运行结果:
please input two numbers: 56 80
the gcd is: 8
the lcm is: 560

四.认识自定义函数
第3节 体验自定义函数_第1张图片

你可能感兴趣的:(#,C语言提升篇_笔记)