十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1、編寫函數(shù)func1,實(shí)現(xiàn)求兩個(gè)數(shù)的最大公約數(shù)。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、西安網(wǎng)絡(luò)推廣、小程序開發(fā)、西安網(wǎng)絡(luò)營銷、西安企業(yè)策劃、西安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供西安建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
1:
int
fuc1(int
a,int
b)
{
if(a%b==0)
return
b;
return
fuc(b,a%b);
}
int
t=fuc1(a,b);//t為a,b最大公約數(shù)。
2、編寫函數(shù)func2,實(shí)現(xiàn)求兩個(gè)自然數(shù)之間的奇數(shù)的和。
2
int
fuc2(int
a,int
b)
{
int
sum=0;
int
i;
for(i=a;i=b;i++)
if(i%2==1)
sum+=i;
return
sum;
}
int
t=fuc2(a,b);//t為a,b間所有奇數(shù)之和。
3、編寫函數(shù)func1,實(shí)現(xiàn)求一個(gè)自然數(shù)的階乘(要求用遞歸的方法)。
int
fuc1(int
k)
{
if(k==1)
return
1;
return
k*fuc(k-1);
}
int
t=fuc1(a);//t為a的階乘.
4、編寫函數(shù)func2,實(shí)現(xiàn)求兩個(gè)自然數(shù)之間的偶數(shù)的和。
int
fuc2(int
a,int
b)
{
int
sum=0;
int
i;
for(i=a;i=b;i++)
if(i%2==0)
sum+=i;
return
sum;
}
int
t=fuc2(a,b);//t為a,b間所有偶數(shù)之和。
C語言中一個(gè)完整的函數(shù)由函數(shù)首部和函數(shù)體構(gòu)成,而且定義函數(shù)時(shí)兩者都是必不可少的。函數(shù)定義的一般形式如下:類型標(biāo)識(shí)符 函數(shù)名(形參表列) // 這是函數(shù)首部 // 以下{ }內(nèi)的是函數(shù)體 { 說明部分執(zhí)行部分 } 舉例說明如下: // 定義一個(gè)不帶返回值的函數(shù) // 函數(shù)功能:輸出形參的值 void fun(int a, int b) { printf("%d, %d\n", a, b); } // 定義一個(gè)帶返回值的函數(shù) // 函數(shù)功能:返回2個(gè)整數(shù)數(shù)的最大值 int fun(int a, int b) { return ab ? a : b; }
函數(shù)是用戶與程序的接口,在定義一個(gè)函數(shù)前,首先要清楚以下三個(gè)問題。1) 函數(shù)的功能實(shí)現(xiàn)及算法選擇。算法選擇會(huì)在后續(xù)文章詳細(xì)講解,本節(jié)重點(diǎn)關(guān)注函數(shù)的功能實(shí)現(xiàn)。一般選取能體現(xiàn)函數(shù)功能的函數(shù)名,且見名知意,如求和函數(shù)的函數(shù)名可取為 add,求最大值的函數(shù)名可取為 max,排序函數(shù)可取名為 sort 等。2) 需要用戶傳給該函數(shù)哪些參數(shù)、什么類型,即函數(shù)參數(shù)。3) 函數(shù)執(zhí)行完后返回給調(diào)用者的參數(shù)及類型,即函數(shù)返回值類型。 函教定義格式 函數(shù)定義的一般格式為: 返回類型 函數(shù)名 (類型參數(shù)1,類型參數(shù)2,…) {函數(shù)體 }也可以不含參數(shù),不含參數(shù)時(shí),參數(shù)表中可寫關(guān)鍵字 void 或省略,為規(guī)范起見,教程中對(duì)沒有參數(shù)的函數(shù),參數(shù)表中統(tǒng)一寫 void。例如: 類型 函數(shù)名 () {函數(shù)體 }等價(jià)于: 類型 函數(shù)名 (void) //建議的書寫方式 {函數(shù)體 } 如果該函數(shù)沒有返回類型,則為 void 類型。例如: void add (int x,int y) {printf ("sum=%d\n", x+y); } 除了 void 類型外,在函數(shù)體中,均需要顯式使用 return 語句返回對(duì)應(yīng)的表達(dá)式的值。 函教返回值 函數(shù)的值是指調(diào)用函數(shù)結(jié)束時(shí),執(zhí)行函數(shù)體所得并返回給主調(diào)函數(shù)的值。 關(guān)于函數(shù)返回值說明如下。1) 帶返回值的函數(shù),其值一般使用 return 語句返回給調(diào)用者。其格式為: return 表達(dá)式;或者 return (表達(dá)式);例如: int add (int a, int b) {return (a + b); //return 后為表達(dá)式 } 函數(shù)可以含一個(gè)或多個(gè) return 語句,但每次調(diào)用時(shí)只能執(zhí)行其中一個(gè) return 語句。例如,求整數(shù)絕對(duì)值的函數(shù): int f (int n) //含多個(gè)return語句,但每次調(diào)用只執(zhí)行一個(gè) {if (n = 0)return n;elsereturn -n; }
int
getdata(int
a,int
b)//括號(hào)是形式參數(shù),前面int
是函數(shù)返回值類型
{
...
return
a;//返回值
}
...是實(shí)現(xiàn)的代碼。
自己看看書上的函數(shù)定義和實(shí)現(xiàn)形式很容易的。
在C語言中,一個(gè)標(biāo)準(zhǔn)的函數(shù)定義語句塊必須包含函數(shù)返回值的類型標(biāo)識(shí)符、函數(shù)名、形參類型及數(shù)量、函數(shù)體、返回值表達(dá)式。如果函數(shù)返回值類型為 void (即無返回值),則在兩個(gè)大括號(hào)之間不能寫帶有返回值表達(dá)式的 return 語句,否則編譯器就會(huì)報(bào)錯(cuò)。你寫的 test 函數(shù)返回值類型為 void,而你在函數(shù)定義語句塊內(nèi)寫下了 return 語句,編譯器自然會(huì)報(bào)錯(cuò)了。
你可以將這個(gè)函數(shù)修改為以下形式:
int test(int n)
{
int m = n / 2;
return m;
}