首页 > 编程语言 >算法基础

算法基础

时间:2023-02-08 17:46:32浏览次数:42  
标签:10 20 函数 形参 int 基础 算法 return

参考:

  1. csdn,沓沓781,http://t.csdn.cn/HG47y

 

函数基础

定义一个函数

  包括:返回类型、函数名称、形参列表、函数体

例如:

int sum(int n)
{
    int sum=0;
    for(int i=0;i<n;i++)
    {
        sum+=i;
    }
    return sum;
}

 

调用函数

调用函数主要完成两个任务:①给对应的形参赋值;②暂时中断主函数,执行被调用的函数

参数传递

传值参数

  把变量值传给形参,此时,对形参的修改不会影响原变量的值

例如:

int max(int x, int y)
{
   x=10,y=20;
   if(x>y)
       return x;
   return y;
}
 
int main(){
   int a,b;
   cin>>a>>b;  //输入:a=3,b=4
 
   cout<<max(a,b)<<endl; 
  
   cout<<a<<" "<<b;
 
   return 0;
}

 

运行结果:

    20

    3 4

  a,b的值都没有改变

引用传递参数

  如果想引用的函数内部的值发生变化,外面的值随之改变,就需要加上引用符号“&”

例如:

int max(int &x, int &y)
{
   x=10,y=20;
   if(x>y) 
       return x;
   return y;
}
 
int main(){
   int a,b;
   cin>>a>>b;  //输入:a=3,b=4
 
   cout<<max(a,b)<<endl; 
  
   cout<<a<<" "<<b;
 
   return 0;
}    

 

运行结果:

    20

    10 20

数组形参

  多维数组中,除了第一维之外,其他维度的大小必须指定

  在函数中,对数组中的值的修改,会影响函数外面的数组(即为引用传递)

void output(int n, int m, int a[][3])
{
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++) 
        {
           cout<<a[i][j]<<" ";
           a[i][j]=1;  //把数组里的所有数值都改成1
        }
        cout<<endl;
     }
}
 
int main(){
    int a[3][3]={
        {1,2,3},
        {4,5,6},
        {7,8,9},
     };
 
     output(3,3,a);
 
     puts(" ");
     for(int i=0; i<3; i++)
     {
         for(int j=0; j<3; j++)
         {
             cout<<a[i][j]<<" ";
         }
         cout<<endl;
     } 
     
     return 0;
}

 

结果:

    1 2 3

    4 5 6

    7 8 9

 

    1 1 1

    1 1 1

    1 1 1

 

return语句作用

  ①相当于break,结束当前运行的函数;

  ②将控制权返还到调用该函数的地方

 

标签:10,20,函数,形参,int,基础,算法,return
From: https://www.cnblogs.com/beiqiao-xiaoqiao/p/17102682.html

相关文章

  • 进程基础知识
    程序和进程程序:(文件)进程:(资源)并行与并发并行:同一时刻,有多条指令在多个处理器上同时执行并发:在同一时刻只能有一条指令执行,但多个进程指令被快速轮换,使得宏观上具有......
  • 感知机:学习算法之原始形式【统计学习方法】
    概述学习问题训练数据集:$$T={(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)}$$其中,$x_i\in\mathcalX\subseteq\boldsymbolR^n,y_i\in\mathcalY={+1,-1}$损失函数:$$L(w,b)=\su......
  • 程序员必备的数据库知识 2:Join 算法
    前言连接(Join)是关系数据库重要特性,它和事务常被作为数据库与文件系统的两个重要区别项。程序员江湖一直流传着某某baba的神秘开发宝典,其中数据库部分有重要一条避免过多表......
  • 【经典算法】双指针(尺取法):爱,是双向奔赴,还是你追我赶?
    一、前言双指针法又称尺取法,顾名思义,在区间操作时,使用两个指针同时遍历区间,从而实现高效操作。两个指针,就像是一男一女,他们遍历区间的过程,又何尝不像是一对男女彼此追求爱......
  • 程序员必备的数据库知识 2:Join 算法
    前言连接(Join)是关系数据库重要特性,它和事务常被作为数据库与文件系统的两个重要区别项。程序员江湖一直流传着某某baba的神秘开发宝典,其中数据库部分有重要一条避免过多......
  • 旺店通·企业奇门与金蝶云星空对接集成查询货品品牌打通预置基础资料1新增
    旺店通·企业奇门与金蝶云星空对接集成查询货品品牌打通预置基础资料1新增对接系统:旺店通·企业奇门慧策(原旺店通)是一家技术驱动型智能零售服务商,基于云计算PaaS、SaaS......
  • Dataworks数仓建设基础
    1数仓基本概念1.1数据仓库架构源数据, 数据仓库, 数据应用,具体架构如下:源数据:该部分数据主要是从生产数据库,线下手工数据和日志数据,集成到dataworks中,形成了数仓的第一......
  • 秦九韶算法
         秦九韶算法是中国南宋时期的数学家秦九韶提出的一种多项式简化算法。在西方被称作霍纳算法。秦九韶(约公元1202年-1261年),字道古,南宋末年人,出生于鲁郡(今山东曲阜一......
  • 构建亿级别的消息推送基础模型
    问题场景:当用户量增大的时候,系统内的消息推送(比如系统内短信推送,微信,钉钉,极光个推推送)将是我们常见业务场景。当系统中的用户量逐渐增大时候,群发用户消息的推送也将成为......
  • 【基础】算法的时间复杂度分析
    1、什么是时间复杂度?首先,解决一个问题肯定有许多种方式可以实现,那么如何评价一个算法的好坏?处理相同的数据量,用时更少,用的空间更少。那么如何估算一个程序的运行时间与数据......