#includestdio.h
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站與策劃設(shè)計(jì),寶安網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:寶安等地區(qū)。寶安做網(wǎng)站價(jià)格咨詢:18982081108
#includemath.h
#define PI 3.1415
void sx()/*計(jì)算扇形面積及周長*/
{ float r,j,S,C;
do{
printf("請(qǐng)輸入半徑r=");
scanf("%f",r);
printf("請(qǐng)輸入角度(360制)j=");
scanf("%f",j);
}while(r0||j0);
/*運(yùn)算*/
S=PI*r*r*j/360;
C=2*PI*r*j/360+2*r;
printf("該扇形面積S=%f\n周長C=%f\n",S,C);
}
void wb()/*計(jì)算正5邊形面積及周長*/
{ float a,S,C;
do{
printf("請(qǐng)輸入邊長a=");
scanf("%f",a);
}while(a0);
/*運(yùn)算*/
S=1.72*a*a;
C=5*a;
printf("該正5邊形面積S=%f\n周長C=%f\n",S,C);
}
void lb()/*計(jì)算正6邊形面積及周長*/
{ float a,S,C;
do{
printf("請(qǐng)輸入邊長a=");
scanf("%f",a);
}while(a0);
/*運(yùn)算*/
S=2.598*a*a;
C=6*a;
printf("該正6邊形面積S=%f\n周長C=%f\n",S,C);
}
void qg()/*計(jì)算球冠表面積及體積*/
{ float r,h,S,V;
do{
printf("請(qǐng)輸入半徑r=");
scanf("%f",r);
printf("請(qǐng)高度h=");
scanf("%f",h);
}while(r0||h0);
/*運(yùn)算*/
if(h=r)
{
S=2*PI*r*h;
V=PI*(h*h)*(r-h/3);
}
else
{
S=4*PI*r*r-2*PI*r*h;
V=(4/3)*PI*r*r*r-PI*(h*h)*(r-h/3);
}
printf("該球冠面積S=%f\n體積V=%f\n",S,V);
}
void smt()/*計(jì)算正4面體的表面積及體積。*/
{ float a,S,V;
do{
printf("請(qǐng)輸入邊長a=");
scanf("%f",a);
}while(a0);
/*運(yùn)算*/
S=a*a*sqrt(3);
V=0.11111111*(S/4)*a*sqrt(6);
printf("該正4面體面積S=%f\n體積V=%f\n",S,V);
}
void zy()/*計(jì)算正圓面積及周長*/
{ float r,S,C;
do{
printf("請(qǐng)輸入半徑r=");
scanf("%f",r);
}while(r0);
/*運(yùn)算*/
S=PI*r*r;
C=2*PI*r;
printf("該正圓面積S=%f\n周長C=%f\n",S,C);
}
void main()
{ int a;
char c;
do{
printf("請(qǐng)選擇計(jì)算對(duì)象(選擇數(shù)字)\n");
printf("1:扇形 2:正5邊形 3:正6邊形 4:球冠 5:正4面體 6:正圓\n");
scanf("%d",a);
switch(a)
{
case 1:sx();break;
case 2:wb();break;
case 3:lb();break;
case 4:qg();break;
case 5:smt();break;
case 6:zy();
}
printf("是否繼續(xù)(y or n)\n");
scanf("%s",c);
}while(c=='y');
}
#include
int
main()
{
char
ch;
ch=getchar();
while(ch='1'ch='9')
{
printf("請(qǐng)?jiān)诖溯斎耄ㄔ诖诉\(yùn)行功能函數(shù))\n");//switch(語句實(shí)現(xiàn))
fflush(stdin);
ch=getchar();
}
printf("程序退出\n");
return
0;
}
輸入1-9之外任何數(shù)都退出
#include?stdio.h
int?add(int?a,?int?b)
{
return?a+b;
}
int?sub(int?a,?int?b)
{
return?a-b;
}
int?mul(int?a,int?b)
{
return?a*b;
}
int?process(int?(*fun)(int,int),?int?a,?int?b)
{
return?fun(a,b);
}
int?main()
{
int?a,b,r;
printf("輸入a、b兩數(shù):\n");
scanf("%d%d",a,b);
printf("兩數(shù)之和:%d\n",?process(add,a,b));
printf("兩數(shù)之差:%d\n",?process(sub,a,b));
printf("兩數(shù)之積:%d\n",?process(mul,a,b));
}
int doit(int x, int y,int (*fun)(int ,int ))
{
......................
a=(*fun)(x,y);
..................調(diào)用一個(gè)函數(shù);
return(a);
}
int max(int x,int y)
{
............
}
int min...................
...........連續(xù)四個(gè)函數(shù);
void mian()
{
.................
將tingcase=max ,min, .,............其中一個(gè);就可以實(shí)現(xiàn)你要的功能了;
result=doit(x,y,tingcase);
}
主干部分就是這樣了,函數(shù)的實(shí)現(xiàn)部分。應(yīng)該知道了吧,望采納哦。嘻嘻
函數(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; }
一、//調(diào)用函數(shù)事例
#includestdio.h
#includestring.h
二、//計(jì)算加法函數(shù)
int add(int a, int b)
{
return a+b;
}
三、//計(jì)算減法函數(shù)
int subtract(int a, int b)
{
return a-b;
}
四、//計(jì)算乘法函數(shù)
int multiply(int a, int b)
{
return a*b;
}
擴(kuò)展資料:
函數(shù)作為另一個(gè)函數(shù)調(diào)用的實(shí)際參數(shù)出現(xiàn)。這種情況是把該函數(shù)的返回值作為實(shí)參進(jìn)行傳送,因此要求該函數(shù)必須是有返回值的。例如: printf("%d",max(x,y)); 即是把max調(diào)用的返回值又作為printf函數(shù)的實(shí)參來使用的。在函數(shù)調(diào)用中還應(yīng)該注意的一個(gè)問題是求值順序的問題。
參考資料來源:百度百科-函數(shù)調(diào)用
文章名稱:c語言不同功能怎么寫函數(shù),c語言函數(shù)的使用方法
分享路徑:http://jinyejixie.com/article32/dssecsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、服務(wù)器托管、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)