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)

代碼略


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM