c++基础算法(函数)

首先,我们对于函数的理解是一段数学公式,dan~~对于信息来说不是;

目录

一、认识信息中的函数

  函数的自我介绍:

  他人对函数的认识:

二、函数的构成部分 eg :

三、看题了 eg1:eg2:eg3(上强度):


一、认识信息中的函数

    函数的自我介绍:

                我是信息函数,我的英文名是:function;

                我一般游走在主函数(int main())的上面,但有的时候我也寨主函数的下面;不过我在下面的时候,int main()看不见我,所以也用不上我!!!

                对于我来说,我可以执行一系列操作,同时我不仅可以配调用,还可以调用自己与他人(处int main()以外的函数)

     他人对函数的认识:

                函数是一个好用的工具,虽然是一个时难时易的东西,但学好它,让我的信息技术变好了;

二、函数的构成部分

        接着,我们一起来看一看如何构成函数:

1.函数类型:

2.函数名;

3.传入变量(是全局变量可不传入);

4.执行步骤;                                                                                                                  如图

 

eg :

int fut(int x,int h){
    x=x+h;
    return x;
}//这是有返回值;

void hgf(int j,int k){
    if(j>k){
        return;
    )
}//无返回值;

bool kdgn(){
    return a>m;
}//判断类型,1/true代表“真”,0/false代表“假”;

三、看题了

       eg1:

okk,这是一道水题;就是简单的套公式;大部分人会这样写; 

#include<bits/stdc++.h>
#define MAX 100
using namespace std;
double distence(double x1,double y1,double x2,double y2){
	double d=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));//double是小数类型;
	return d;
}
int main(){
	double x1,x2,x3,y1,y2,y3,sum=0;
	cin>>x1>>y1>>x2>>y2>>x3>>y3;
	sum=distence(x1,y1,x2,y2);
	sum+=distence(x1,y1,x3,y3);
	sum+=distence(x2,y2,x3,y3);
	printf("%.2lf",sum);
	return 0;
}

这就是最基础的函数;

eg2:

一样简单,我们只需要知道质数如何判断;

让后就是快乐的代码时间!!!;

#include<bits/c++.h>
using namespace std;
bool isprime(int x){//判断是否素数
	if(x<=1) return false;//如果小于2,一定不是素数
	for(int i=2;i<=sqrt(x);i++){//为什么要到sqrt(x)呢,因为如果有一个大于sqrt(n)的数可以被n整除,那么必有一个数n/i也可以被n整除且小于i
		if(x%i==0) return false;//如果可以整除,那么不是素数
	}
	return true;//是素数
}
int main(){
	int n,a;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a;
		if(isprime(a)){
			cout<<a<<" ";//是素数,就输出
		}
	}
	return 0;
}

eg3(上强度):

我相信,一般人都是这样写的:

#include<bits/stdc++.h>
using namespace std;
int n;
int ans=1;
int main() {
	cin>>n;
	for(int i=1;i<=n;i++){
		ans*=i;
	}
	cout<<ans;
	return 0;
}

题目有一句话:

 

不使用循环改则模板呢?like this;

#include<bits/stdc++.h>
using namespace std;
int N;
int f(int x){
	if(x==1){
		return 1;
	}
	return x*f(x-1);
}
int main(){
	cin>>N;
	cout<<f(N);
	return 0;
}

ok,一道递归(函数的一种用法)解决了 !!!

(递归与递推详见c++基础算法(递归与递推)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/sjzwer_/article/details/140292609?spm=1001.2014.3001.5502

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值