1.(编程)编写一个C程序,输入a,b,c三个值,输出其中最大者

//方法一:单个函数中实现,使用了if-else,思路最简单,但是时间、空间复杂度较高

思路:定义除a,c,c外再定义x,y两个变量用于存放每一次比较后较大的数,最后输出最大的y

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int a,b,c; 
 5     int x,m;
 6 
 7     scanf("%d %d %d",&a,&b,&c); 
 8     if(a>b)
 9         x=a;
10     else
11         x=b;
12     if(x>c)
13         m=x;
14     else
15         m=c;
16     printf("max=%d\n",m);
17 
18     return 0;
19 }

//方法二:定义一个max函数,在主函数中调用

思路:主函数中语句简单,max函数类似上面

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int max(int a,int b,int c);    //对被调函数max的声明
 5     int i,j,k,n;                    
 6     scanf("%d %d %d",&i,&j,&k);
 7     n=max(i,j,k);                    //调用max函数
 8     printf("max=%d\n",n);
 9     return 0;
10 }
11 
12 //求三个整数中最大的max函数
13 int max(int a,int b,int c)
14 {
15     int x,m;
16 
17     if(a>b)
18         x=a;
19     else
20         x=b;
21 
22     if(x>c)
23         m=x;
24     else
25         m=c;
26 
27     return m;
28 }

//方法三:只多定义一个max变量用于存放最大值

思路:此为最优解,时间、空间复杂度均最优,可多细细领会

 1 #include<stdio.h>
 2 int main(){
 3 int a,b,c,max;
 4 scanf("%d %d %d",&a,&b,&c);
 5 max=a;
 6 if(max<b)
 7 max=b;
 8 if(max<c)
 9 max=c;
10 printf("最大的数是%d:",max);
11 return 0;
12 }

//方法四:两次调用max(a,b)      max((a,b),c)

代码略

posted @ 2019-04-22 18:55  rookieClimber  阅读(16226)  评论(2编辑  收藏  举报