函数——自制函数(c++)

发布时间:2024年01月11日

今天进入自制函数。

自制函数,需要自己定义其功能。比如,设置一个没有参数没有返回值的积木,叫“aaa”。那么,如果想要运行“aaa”,就需要以下代码:

void aaa();? ? ? ? ? ? ? ? ? ? ? 告诉系统有“aaa”这个积木。

aaa();? ? ? ? ? ? ? ? ? ? ? ? ? ?执行aaa的内容

void aaa()? ? ? ? ? ? ? ? ? ? ? }
{? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ?? ? ? ? ? ??? ? ? ? ? ? ? ? ?}? ?定义aaa的作用? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }?(在“return;”上方黄色部分写“aaa”的内容)

? ? ? ? ?return;? ? ? ? ? ? ? ? }
}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}

加上基本框架并连起来就是:

#include <iostream>
using namespace std;
void aaa();
int main()
{
?? ?aaa();
?? ?return 0;
}
void aaa()
{
?? ?
?? ?return;
}

自制函数有多种类型,bool、int等都行,只要定义上即可。上方涂蓝的部分就是函数的类型,如果此函数没有参数也没有返回值,涂蓝部分就是void。函数有两个可有可无的部分,就是参数和返回值。上方代码涂红的地方是出来的结果——返回值。而上方代码涂绿的部分就是参数。括号里的参数就相当于输入的值,bool、int等都行。

话不多说,直接进题。

#include <iostream>
using namespace std;
bool aaa(int);
int main()
{
	for(int i = 1000;i<=3000;i++)
	{
		int a1 = i/100%10;
		int a2 = i/10%10;
		int a3 = i/1%10;
		int a = a1*100+a2*10+a3;
		int b = a2*10+a3;
		int c = a3;
		if(aaa(a)==true&&aaa(b)==true&&aaa(c)==true&&aaa(i)==true)
		{
			cout<<i<<endl;
		}
	}
	return 0;
}
bool aaa(int q)
{
	if(q==1) return false;
	if(q==2) return true;
	for(int j = 2;j*j<=q;j++)
	{
		if(q%j==0) return false;
	}
	return true;
}

#include <iostream>
using namespace std;
int aaa(int);
int main()
{
	for(int i = 100;i<999;i++)
	{
		int a = i/100%10;
		int b = i/10%10;
		int c = i/1%10;
		if(aaa(a)+aaa(b)+aaa(c)==i)
		{
			cout<<i<<endl;
		}
	}
	return 0;
}
int aaa(int q)
{
	int sum = 1;
	for(int j = 2;j<=q;j++)
	{
		sum = sum*j;
	}
	return sum;
}

#include <iostream>
using namespace std;
int aaa(int);
int main()
{
	int n;
	cin>>n;
	for(int i = 2;i<=n;i++)
	{ 
		int sum1 = aaa(i);
		int sum2 = aaa(aaa(i));
		if(aaa(sum2)==sum1&&aaa(sum1)==i&&sum1!=0&&sum2!=0)
		{
			cout<<sum2<<" "<<sum1<<endl; 
		}
	}
	return 0;
}
int aaa(int q)
{
	int sum = 0;
	for(int j = 2;j<q;j++)
	{
		if(q%j==0)
		{
			sum = sum+j;
		}
	}
	return sum;
}

#include <iostream>
using namespace std;
bool aaa(int);
int main()
{
	int n;
	cin>>n;
	int cnt = 0;
	for(int i = 1;i<=n;i++)
	{
		if(aaa(i)==true)
		{
			cnt++;
		}
	}
	cout<<cnt;
	return 0;
}
bool aaa(int q)
{
	if(q/10==0) return true;
	int t = q;
	int sum = 0;
	while(t!=0)
	{
		sum++;
		t = t/10;
	}
	t = q;
	for(int j = 1;j<=sum/2;j++)
	{
		int a1 = t/j%10;
		int t2 = 10;
		for(int k = 1;k<(sum-j);k++)
		{
			t2 = t2*10;
		}
		int a2 = t/t2%10;
		if(a1!=a2)
		{
			return false;
		}
	}
	return true;
}

文章来源:https://blog.csdn.net/mmz1207/article/details/135511454
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。