任務極值實現要點極值實現課件_第1頁
任務極值實現要點極值實現課件_第2頁
任務極值實現要點極值實現課件_第3頁
任務極值實現要點極值實現課件_第4頁
任務極值實現要點極值實現課件_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

任務23極值實現要點:1.極值實現

輸入兩個整數,要求輸出其中值較大者。要求用函數來找到大數。解題思路:(1)函數名應是見名知意,今定名為max(2)由于給定的兩個數是整數,返回主調函數的值(即較大數)應該是整型(3)max函數應當有兩個參數,以便從主函數接收兩個整數,因此參數的類型應當是整型23.1

極值實現先編寫max函數:intmax(intx,inty){intz;z=x>y?x:y;return(z);}23.1

極值實現在max函數上面,再編寫主函數#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;printf(“twointegernumbers:");scanf(“%d,%d”,&a,&b);c=max(a,b);

printf(“maxis%d\n”,c);}實參可以是常量、變量或表達式23.1

極值實現

c=max(a,b);(main函數)intmax(intx,inty)(max函數){intz;z=x>y?x:y;return(z);}在定義函數中指定的形參,在未出現函數調用時,它們并不占內存中的存儲單元。在發生函數調用時,函數max的形參被臨時分配內存單元。2a3bxy23實參形參23.1

極值實現調用結束,形參單元被釋放實參單元仍保留并維持原值,沒有改變如果在執行一個被調用函數時,形參的值發生改變,不會改變主調函數的實參的值2a3bxy23實參形參23.1

極值實現將在max函數中定義的變量z改為float型。函數返回值的類型與指定的函數類型不同,分析其處理方法。解題思路:如果函數返回值的類型與指定的函數類型不同,按照賦值規則處理。23.1

極值實現#include<stdio.h>intmain(){intmax(floatx,floaty);floata,b;intc;scanf("%f,%f,",&a,&b);c=max(a,b);printf("maxis%d\n",c);return0;}intmax(floatx,floaty){floatz;z=x>y?x:y;return(z);}1.52.62.62變為2分別編寫add函數和main函數,它們組成一個源程序文件main函數的位置在add函數之前在main函數中對add函數進行聲明23.1

極值實現#include<stdio.h>intmain(){floatadd(floatx,floaty);floata,b,c;printf("Pleaseenteraandb:");scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f\n",c);return0;}floatadd(floatx,floaty){floatz;z=x+y;return(z);}求兩個實數之和,函數值也是實型對add函數聲明#include<stdio.h>intmain(){floatadd(floatx,floaty);floata,b,c;printf("Pleaseenteraandb:");scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f\n",c);return0;}floatadd(floatx,floaty){floatz;z=x+y;return(z);}只差一個分號#include<stdio.h>intmain(){floatadd(floatx,floaty);floata,b,c;printf("Pleaseenteraandb:");scanf("%f,%f",&a,&b);c=add(a,b);printf("sumis%f\n",c);return0;}floatadd(floatx,floaty){floatz;z=x+y;return(z);}定義add函數調用add函數函數原型的一般形式有兩種:如floatadd(floatx,floaty);floatadd(float,float);原型說明可以放在文件的開頭,這時所有函數都可以使用此函數23.1

極值實現C語言的函數定義是互相平行、獨立的即函數不能嵌套定義但可以嵌套調用函數即調用一個函數的過程中,又可以調用另一個函數23.1

極值實現main函數①調用a函數⑨結束a函數③調用b函數⑦②⑧b函數⑤④⑥23.1

極值實現

輸入4個整數,找出其中最大的數。用函數的嵌套調用來處理。解題思路:main中調用max4函數,找4個數中最大者max4中再調用max2,找兩個數中的大者max4中多次調用max2,可找4個數中的大者,然后把它作為函數值返回main函數main函數中輸出結果23.1

極值實現#include<stdio.h>intmain(){intmax4(inta,intb,intc,intd);inta,b,c,d,max;printf(“4intergernumbers:");scanf("%d%d%d%d",&a,&b,&c,&d);max=max4(a,b,c,d);printf("max=%d\n",max);return0;}主函數對max4

函數聲明#include<stdio.h>intmain(){intmax4(inta,intb,intc,intd);inta,b,c,d,max;printf(“4intergernumbers:");scanf("%d%d%d%d",&a,&b,&c,&d);max=max4(a,b,c,d);printf("max=%d\n",max);return0;}主函數輸入4個整數#include<stdio.h>intmain(){intmax4(inta,intb,intc,intd);inta,b,c,d,max;printf(“4intergernumbers:");scanf("%d%d%d%d",&a,&b,&c,&d);max=max4(a,b,c,d);printf("max=%d\n",max);return0;}主函數調用后肯定是4個數中最大者輸出最大者intmax4(inta,intb,intc,intd){intmax2(inta,intb);intm;m=max2(a,b);m=max2(m,c);m=max2(m,d);return(m);}max4函數對max2

函數聲明intmax4(inta,intb,intc,intd){intmax2(inta,intb);intm;m=max2(a,b);m=max2(m,c);m=max2(m,d);return(m);}max4函數a,b中較大者a,b,c中較大者a,b,c,d中最大者intmax4(inta,intb,intc,intd){intmax2(inta,intb);intm;m=max2(a,b);m=max2(m,c);m=max2(m,d);return(m);}max4函數intmax2(inta,intb){if(a>=b)returna;elsereturnb;}max2函數找a,b中較大者intmax4(inta,intb,intc,intd){intmax2(inta,intb);intm;m=max2(a,b);m=max2(m,c);m=max2(m,d);return(m);}max4函數intmax2(inta,intb){if(a>=b)returna;elsereturnb;}max2函數return(a>b?a:b);intmax4(inta,intb,intc,intd){intmax2(inta,intb);intm;m=max2(a,b);m=max2(m,c);m=max2(m,d);return(m);}max4函數intmax2(inta,intb){

return(a>b?a:b);}intmax4(inta,intb,intc,intd){intmax2(inta,intb);intm;m=max2(a,b);m=max2(m,c);m=max2(m,d);return(m);}max4函數m=max2(max2(a,b),c);intmax2(inta,intb){

return(a>b?a:b);}intmax4(inta,intb,intc,intd){intmax2(inta,intb);intm;m=max2(a,b);m=max2(m,c);m=max2(m,d);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論