码迷,mamicode.com
首页 > 编程语言 > 详细

C算法--函数

时间:2019-07-05 09:31:07      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:scanf   for   语句   参数   scan   alt   none   算法   数据类型   

技术图片
 1 #include <stdio.h>
 2 
 3 int max_2(int a,int b){
 4     if(a>b) return a;
 5     else return b;
 6 }
 7 
 8 /*在max_3中调用max_2比较大小*/
 9 int max_3(int a,int b,int c){
10     int temp=max_2(a,b);
11     temp=max_2(temp,c);
12     return temp;
13 }
14 
15 int main(){
16     int a,b,c;
17     scanf("%d%d%d",&a,&b,&c);
18     printf("%d\n",max_3(a,b,c));
19     return 0;
20 }
嵌套调用
技术图片
 1 #include <stdio.h>
 2 
 3 int max_2(int a,int b){
 4     if(a>b) return a;
 5     else return b;
 6 }
 7 
 8 /*在max_3中调用max_2比较大小*/
 9 int max_3(int a,int b,int c){
10     int temp=max_2(a,b);
11     temp=max_2(temp,c);
12     return temp;
13 }
14 
15 int main(){
16     int a,b,c;
17     scanf("%d%d%d",&a,&b,&c);
18     printf("%d\n",max_3(a,b,c));
19     return 0;
20 }
嵌套调用

 

技术图片
 1 #include <stdio.h>
 2 
 3 void print1(){
 4     printf("HAHA,\n");
 5     printf("goodidea,\n");
 6 }
 7 
 8 void print2(){
 9     printf("oho,\n");
10     printf("badidea!");
11 }
12 
13 int main(){
14     print1();
15     print2();
16     return 0;
17 }
基本语法格式

返回类型时void 自定义函数只是单纯实现一些语句不返回变量

技术图片
 1 #include <stdio.h>
 2 
 3 
 4 /*judge函数为有参函数 返回类型int型return后面的数据类型要和一开始给出的返回类型相同*/
 5 int judge(int x){
 6     if(x>0)return 1;
 7     else if(x==0) return 0;
 8     else return -1;
 9 }
10 int main(){
11     int a,ans;
12     scanf("%d",&a);
13     ans=judge(a);
14     printf("%d\n",ans);
15     return 0;
16 }
有参函数
技术图片
 1 #include <stdio.h>
 2 
 3 
 4 int x;
 5 void change(){
 6     x=x+1;
 7 } 
 8 int main(){
 9     x=10;
10     change();
11     printf("%d\n",x);
12     return 0;
13 }
全局变量
技术图片
 1 #include <stdio.h>
 2 
 3 void change (int x){
 4     x=x+1;
 5 }
 6 
 7 /*下面change() 函数的参数X和main函数的a其实作用于两个不同函数的不同变量。这种传递参数的方法称为值传递*/
 8 /*函数定义的小括号参数成为形式参数,实际调用的成为实参*/ 
 9 int main(){
10     int a=10;
11     change(a);
12     printf("%d\n",a);
13     return 0;
14     
15 }
局部变量实参/形参
技术图片
 1 #include <stdio.h>
 2 
 3 int MAX(int a,int b, int c){
 4     int M;
 5     if(a>=b&&a>=c)M=a;
 6     else if(b>=a&&b>=c)M=b;
 7     else M=c;
 8     return M; 
 9 } 
10 
11 int main(){
12     int a,b,c;
13     scanf("%d%d%d",&a,&b,&c);
14     printf("%d\n",MAX(a,b,c));
15     return 0;
16 }
多个参数逗号隔开

 

在main函数中 return0的意义在于告知系统程序正常终止。

技术图片
 1 #include <stdio.h>
 2 
 3 void change(int a[],int b[][5]){
 4     a[0]=1;
 5     a[1]=3;
 6     a[2]=5;
 7     b[0][0]=1;
 8 }
 9 
10 int main(){
11     int a[3]={0};
12     int b[5][5]={0};
13     change (a,b);
14     int i;
15     for(i=0;i<3;i++){
16         printf("%d\n",a[i]);
17     }
18     return 0;
19 }
将数组作为参数传入返回数组

 

技术图片
 1 #include <stdio.h>
 2 
 3 int max_2(int a,int b){
 4     if(a>b) return a;
 5     else return b;
 6 }
 7 
 8 /*在max_3中调用max_2比较大小*/
 9 int max_3(int a,int b,int c){
10     int temp=max_2(a,b);
11     temp=max_2(temp,c);
12     return temp;
13 }
14 
15 int main(){
16     int a,b,c;
17     scanf("%d%d%d",&a,&b,&c);
18     printf("%d\n",max_3(a,b,c));
19     return 0;
20 }
函数的嵌套调用
技术图片
 1 #include <stdio.h>
 2 
 3 /*函数的递归调用*/
 4 int F(int n){
 5     if(n==0) return 1;
 6     else return F(n-1)*n;
 7 } 
 8 
 9 int main(){
10     int n;
11     scanf("%d",&n);
12     printf("%d\n",F(n));
13     return 0;
14 }
递归调用求阶乘

 

C算法--函数

标签:scanf   for   语句   参数   scan   alt   none   算法   数据类型   

原文地址:https://www.cnblogs.com/Catherinezhilin/p/11136174.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!