2016年11月28日 星期一

設計函式

目的

將常使用的程式碼包裝起來,變成一個可以再次重複利用的程式碼

function主要分為兩個部分

1.function declaration(函式宣告)→告訴電腦function的樣子
2.function definition(函式定義)→告訴電腦function的內容
Note:
c的副檔名可以不宣告function就直接呼叫;cpp的副檔名則需宣告才能使用(這意味著如果程式以c++語言撰寫時,需要宣告函式)!(見→function範例1.c、function範例1.cpp)
(點圖放大)

(點圖放大)
function definition要寫在沒有任何大括號包起來的地方,也就是Global Area全域區域
function名稱的命名規則跟變數相同

function架構

int main(void)
{
function回傳型態 function名稱(Variables型態); //function declaration
int x = 0;
printf("%d\n", function名稱(x));
return 0;
}
int function名稱(Variables型態 Variables名稱) //function definition
{
function內容

程式範例

#include <stdio.h>
#include <stdlib.h>
int main()
{
      int TileN(int, int, int, int), x, y, u, t;
      while(scanf("%d%d%d%d", &x, &y, &u, &t) !=EOF)
      {
            printf("%d\n",TileN(x,y,u,t));
      }
      return 0;
}
int TileN(int RoomW, int RoomH, int TileW, int TileH)
{
      int x = RoomW / TileW;
      int y = RoomH / TileH;
      x *= y;
      int u = RoomW / TileH;
      int t = RoomH / TileW;
      u *= t;
      if(x>u)
      {
            return x;
      }
      else
            return u;
}

程式意義

設計一個function,名稱為TileN,分別以RoomW及RoomH代表房間的寬及長;以TileW及TileH代表地磚的寬及長。假設地磚不可分割,所有地磚排列方式需一致,則TileN會return該房間可貼的最多地磚數量。 

沒有留言:

張貼留言