2021-03-23 C++基础练习——函数专场

文章目录


1.有参有反函数

编写两个函数,函数功能分别是:求两个整数的最大公约数和最小公倍数

【示例代码】

#include<iostream>
using namespace std;

//最大公约数
int GCD(int a, int b)
{
	int gcd;
	int max = a;
	if (a > b)
		max = b;
	for (int i = 1; i <= max; i++)
	{
		if ((a%i == 0) && (b%i == 0))
			gcd = i;
	}
	return gcd;

}

//最小公倍数
int LCM(int a, int b)
{
	int lcm;
	int min = a;
	if (a < b)
		min = b;
	for (int i = min; ; i++)
	{
		if ((i%a == 0) && (i%b == 0))
		{
			lcm = i;
			break;
		}
	}
	return lcm;
}

int main()
{
	int a, b, gcd, lcm;
	cout << "a = ";
	cin >> a;
	cout << "b = ";
	cin >> b;
	gcd = GCD(a, b);  //最大公约数
	lcm = LCM(a, b);  //最小公倍数

	cout << "最大公约数是:" << gcd << endl;
	cout << "最小公倍数是:" << lcm << endl;

	system("pause");
	return 0;
}

【参考结果】
2021-03-23 C++基础练习——函数专场

2.有参无返

编写函数factors(num,k),函数功能是:求整数num中包含因子k的个数。
例如:32=22222,则factors(32,2)=5

【示例代码】

#include<iostream>
using namespace std;

void factors(int num, int k)
{
	int i = 0;
	while (1)
	{
		if (num%k == 0)
		{
			num = num / k;
			i++;
		}
		else
			break;
	}
	cout << "包含的因子数为:" << i << endl;
}

int main()
{
	int num, k;
	cout << "num = ";
	cin >> num;
	cout << "k = ";
	cin >> k;
	factors(num, k);

	system("pause");
	return 0;
}

【参考结果】

2021-03-23 C++基础练习——函数专场

3.无参有返

求一个字符串的长度

【示例代码】

#include<iostream>
#include<string>
using namespace std;

int char_long()
{
	int len;
	char a[50];
	cout << "请输入一个字符串:";
	cin.get(a,50);
	len = strlen(a);
	return len;

}

int main()
{
	int len;
	len = char_long();
	cout << "字符串长度为:" << len << endl;

	system("pause");
	return 0;
}

【参考结果】
2021-03-23 C++基础练习——函数专场

4.无参无返

【示例代码】

#include<iostream>
using namespace std;

void screen()
{
	cout << "热爱可抵岁月漫长" << endl;

}
int main()
{
	screen();

	system("pause");
	return 0;
}
上一篇:关于最大公约数欧几里得算法辗转相除及最小公倍数算法拓展C++学习记录


下一篇:2020CSP&NOIp游记