歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類(lèi) > DOC文檔下載  

C語(yǔ)言程序設(shè)計(jì)(第3版)何欽銘 顏 暉 第5章函數(shù)

  • 資源ID:136931626       資源大?。?span id="nxdgils" class="font-tahoma">55KB        全文頁(yè)數(shù):10頁(yè)
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機(jī):
溫馨提示:
用戶(hù)名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢(xún)和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類(lèi)文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

C語(yǔ)言程序設(shè)計(jì)(第3版)何欽銘 顏 暉 第5章函數(shù)

第5章 函數(shù)【練習(xí)5-1】使用函數(shù)求1到n之和:輸入一個(gè)正整數(shù) n,輸出1n之和。要求自定義和調(diào)用函數(shù)sum(n)求 1n 之和。若要計(jì)算 mn(m<n)之和,又該如何定義函數(shù)?試編寫(xiě)相應(yīng)程序。解答:#include <stdio.h>int sum(int n);int main(void) int n; int sum; printf("Enter n:") scanf("%d", &n); printf("sum = %dn", sum(n);return 0;int sum(int n)int result, i;result = 0; for(i = 1; i <= n; i+) result = result + i; return result;若要計(jì)算 mn(m<n)之和,則需要在 main()中定義 2 個(gè)變量 m 和 n: scanf("%d%d", &m, &n); printf("sum = %dn", sum(m, n);同時(shí)在函數(shù)定義時(shí)需設(shè)置 2 個(gè)形參:int sum(int m, int n)int result, i;result = 0; for(i = m; i <= n; i+) result = result + i; return result;【練習(xí)5-2】使用函數(shù)找最大值: 輸入2個(gè)數(shù),輸出其中較大的數(shù)。要求定義和調(diào)用函數(shù) max(a, b)找出并返回 a、b 中較大的數(shù)。試編寫(xiě)相應(yīng)程序。解答:#include <stdio.h>double max(double a, double b);int main(void) int a, b; printf(“Input a and b:”); scanf("%lf%lf",&a, &b); printf("max= %lfn", max(a, b);return 0;double max(double a, double b) if(a > b) return a; else return b;【練習(xí)5-3】數(shù)字金字塔:輸入一個(gè)正整數(shù) n,輸出n行數(shù)字金字塔。試編寫(xiě)相應(yīng)程序。解答:#include <stdio.h>int main(void) int n,i,j; printf(“Enter n:”); scanf("%d", &n); for(i = 1; i <= n; i+) for(j = 1; j <= n - i; j+) printf(" "); for(j = 1; j <= i; j+) printf("%d ", i); putchar('n'); return 0;【練習(xí)5-4】 思考:若把例 5-9 中靜態(tài)變量 f 定義成普通局部變量,還能實(shí)現(xiàn)計(jì)算 n!嗎?請(qǐng)上機(jī)檢驗(yàn)。若把 f 換成全局變量又會(huì)如何?解答:若把例 5-9 中靜態(tài)變量 f 定義成普通局部變量,無(wú)法實(shí)現(xiàn)計(jì)算 n!,因?yàn)楹瘮?shù)返回后 f 單元被系統(tǒng)回收,不再保存原有數(shù)據(jù)。若把 f 換成全局變量,則能實(shí)現(xiàn)計(jì)算 n!,因?yàn)?f 的作用范圍和生命周期一直存在。習(xí)題5一、選擇題1在 C 語(yǔ)言程序中,若對(duì)函數(shù)類(lèi)型未加顯式說(shuō)明,則函數(shù)的隱含類(lèi)型為 D 。Avoid Bdouble Cchar Dint 2下列程序的輸出結(jié)果是 D 。fun(int a, int b, int c) c = a * b; int main(void) int c; fun(2, 3, c); printf(”%dn”, c);return 0;A0 B1 C6 D無(wú)法確定3建立自定義函數(shù)的目的之一是 B(優(yōu)先)、C 。A提高程序的執(zhí)行效率 B提高程序的可讀性C減少程序的篇幅 D減少程序文件所占內(nèi)存4以下正確的函數(shù)定義形式是 A 。Adouble fun(int x, int y) Bdouble fun(int x; int y)Cdouble fun(int x, int y); Ddouble fun(int x, y)5以下不正確的說(shuō)法是 C 。A實(shí)參可以是常量、變量或表達(dá)式C形參可以是常量、變量或表達(dá)式B實(shí)參可以是任何類(lèi)型D形參應(yīng)與對(duì)應(yīng)的實(shí)參類(lèi)型一致6以下正確的說(shuō)法是 D 。A實(shí)參與其對(duì)應(yīng)的形參共同占用一個(gè)存儲(chǔ)單元B實(shí)參與其對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元C只有當(dāng)實(shí)參與其對(duì)應(yīng)的形參同名時(shí)才占用一個(gè)共同的存儲(chǔ)單元D形參是虛擬的,不占用內(nèi)存單元二、填空題1下列程序的輸出結(jié)果為 2357 。#include <stdio.h>int fun3(int m);int main(void) int n; for (n = 1; n < 10; n+) if (fun3(n) = 1) printf("%d ", n); return 0;int fun3(int m) int i; if (m = 2 | m = 3) return 1; if (m < 2 | |m % 2 = 0) return 0; for (i = 3; i < m; i = i + 2) if (m % i = 0) return 0; return 1; 2輸入若干個(gè)正整數(shù),判斷每個(gè)數(shù)從高位到低位各位數(shù)字是否按值從小到大排列,請(qǐng)根據(jù)題意,將程序補(bǔ)充完整。#include <stdio.h>int fun1( int m );int main(void) int n; scanf("%d", &n); while (n > 0) if(fun1(n) printf("%d 中各位數(shù)字按從小到大排列n", n); scanf("%d", &n); int fun1( int m ) int k; k = m % 10; while(m) if( m / 10 % 10 > k) return 0; else m = m/10 ; k = m % 10; return 1;3下列函數(shù)輸出一行字符:先輸出 kb 個(gè)空格,再輸出 n 個(gè)指定字符(由實(shí)參指定)。請(qǐng)根據(jù)題意,將程序補(bǔ)充完整。#include <stdio.h>void print( int kb, int n, char zf ) int i; for(i = 1; i <= kb; i+) printf(“ ”); for (i = 1; i <= n; i+ ) printf(“%c”, zf);三、程序設(shè)計(jì)題1使用函數(shù)計(jì)算分段函數(shù)的值:輸入 x,計(jì)算并輸出下列分段函數(shù) f(x) 的值。要求定義和調(diào)用函數(shù) sign(x) 實(shí)現(xiàn)該分段函數(shù)。試編寫(xiě)相應(yīng)程序。 1 x 0f(x)= 0 x 0-1 x 0解答:#include <stdio.h>int main(void) int sign(int x); int x, y;scanf("%d",&x); y = sign(x);printf("sign(%d) = %dn", x, y);return 0;int sign(int x) int y;if(x>0) y=1;else if (x=0) y=0;else y=-1;return y;2使用函數(shù)求奇數(shù)和:輸入一批正整數(shù)(以零或負(fù)數(shù)為結(jié)束標(biāo)志),求其中的奇數(shù)和。要求定義和調(diào)用函數(shù) even(n)判斷數(shù)的奇偶性,當(dāng) n 為偶數(shù)時(shí)返回 1,否則返回 0。試編寫(xiě)相應(yīng)程序。解答:#include <stdio.h>int even(int n);int main(void) int n, sum; scanf("%d",&n); sum = 0; while(n > 0) if(even(n) = 0) sum = sum + n; scanf("%d", &n); printf("The sum of the odd numbers is %d.n", sum);return 0;int even(int n) int y; if (n % 2 = 0) y = 1; else y = 0; return y;3.使用函數(shù)計(jì)算兩點(diǎn)間的距離:給定平面任意兩點(diǎn)坐標(biāo)(x1,y1)和(x2,y2),求這兩點(diǎn)之間的距離(保留2位小數(shù))。要求定義和調(diào)用函數(shù)dist(x1,y1,x2,y2)計(jì)算兩點(diǎn)之間的距離。試編寫(xiě)相應(yīng)程序。解答:#include<stdio.h>#include<math.h>double dist(double x1,double y1,double x2,double y2);int main(void) double x1,y1,x2,y2; printf("Enter x1 and y1:"); scanf("%lf%lf",&x1,&y1); printf("Enter x2 and y2:"); scanf("%lf%lf",&x2,&y2); printf("Distance=%.2lf",dist(x1,y1,x2,y2); return 0;double dist(double x1,double y1,double x2,double y2) double distance; distance=sqrt(pow(fabs(x2-x1),2)+pow(fabs(y2-y1),2); return distance;4利用函數(shù)計(jì)算素?cái)?shù)個(gè)數(shù)并求和:輸入兩個(gè)正整數(shù) m 和 n(1<=m, n<=500),統(tǒng)計(jì)并輸出 m 和 n 之間的素?cái)?shù)的個(gè)數(shù)以及這些素?cái)?shù)的和。要求定義并調(diào)用函數(shù) prime(m)判斷 m 是否為素?cái)?shù)。試編寫(xiě)相應(yīng)程序。解答:#include<stdio.h>#include<math.h>int prime(int m);int main(void) int m,n,sum,count; printf("Input m:"); scanf("%d",&m); printf("Input n:");scanf("%d",&n);sum=0;count=0;for(;m<=n;m+) if(prime(m)=1) sum=sum+m; count+; printf("%d和%d之間素?cái)?shù)的個(gè)數(shù):%dn",m,n,count); printf("%d和%d之間素?cái)?shù)的和:%dn",m,n,sum);return 0;int prime(int m)int i;for(i=2;i<=sqrt(m);i+) if(m%i=0)return 0; if(i>h&&m!=1)return 1;5.使用函數(shù)統(tǒng)計(jì)指定數(shù)字的個(gè)數(shù):讀 入 一 個(gè) 整 數(shù) , 統(tǒng) 計(jì) 并 輸 出 該 數(shù) 中“2” 的 個(gè) 數(shù) 。 要 求 定 義 并 調(diào) 用 函 數(shù)countdigit(number,digit),它的功能是統(tǒng)計(jì)整數(shù) number 中數(shù)字 digit 的個(gè)數(shù)。例如,countdigit(12292,2)的返回值是 3。試編寫(xiě)相應(yīng)程序。解答:#include<stdio.h>int countdigit(int number,int digit);int main(void)int number,digit;printf("Enter an integer:");scanf("%d",&number);printf("Number of digit ");scanf("%d",&digit);printf(":%d",countdigit(number,digit);return 0;int countdigit(int number,int digit) int a,count; if(number<0)number=-number; while(number>0) a=number; if(number%10=digit) count+; number=number/10; return count;6使用函數(shù)輸出水仙花樹(shù):輸入兩個(gè)正整數(shù) m 和 n(1<=m,n<=1000),輸出 mn 之間所有滿(mǎn)足各位數(shù)字的立方和等于它本身的數(shù)。要求定義并調(diào)用函數(shù) is(number),判斷number的各位數(shù)字之立方和是否等于它本身。試編寫(xiě)相應(yīng)程序。解答:#include<stdio.h>int is(int number);int main(void) int i, m, n; printf("Input m and n:"); scanf("%d%d", &m, &n); printf("result:n"); for(i = m; i <= n; i+) if(is(i) != 0) printf("%dn", i);return 0;int is(int number) int digit, sum, temp; temp = number; sum = 0; while(temp != 0) digit = temp % 10; temp = temp / 10; sum = sum + digit * digit * digit; return sum = number;7 使用函數(shù)求余弦函數(shù)的近似值:輸入精度e,用下列公式求cos(x)的近似值,精確到最后一項(xiàng)的絕對(duì)值小于e。要求定義和調(diào)用函數(shù) funcos(e, x)求余弦函數(shù)的近似值。試編寫(xiě)相應(yīng)程序。cosx=x0/0!-x²/2!+x4/4!-x6/6!+解答:#include<stdio.h>#include<math.h>double funcos(double e, double x);int main(void) double e, sum, x; printf("Input e and x:"); scanf("%lf%lf",&e,&x); sum=funcos(e,x); printf("cos%lf=%lfn",x,sum); return 0;double funcos(double e,double x) int flag, i; double item, sum, tmp, power; flag=1; power=1; tmp=1; i=0; item=1; sum=0; while(fabs(item)>=e) item=flag*power/tmp; sum=sum+item; power=power*x*x; tmp=tmp*(i+1)*(i+2); flag=-flag; i=i+2; return sum;

注意事項(xiàng)

本文(C語(yǔ)言程序設(shè)計(jì)(第3版)何欽銘 顏 暉 第5章函數(shù))為本站會(huì)員(ning****hua)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!