C語言程序設(shè)計(jì)(第3版)何欽銘 顏 暉 第5章函數(shù)
《C語言程序設(shè)計(jì)(第3版)何欽銘 顏 暉 第5章函數(shù)》由會員分享,可在線閱讀,更多相關(guān)《C語言程序設(shè)計(jì)(第3版)何欽銘 顏 暉 第5章函數(shù)(10頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第5章 函數(shù)
【練習(xí)5-1】使用函數(shù)求1到n之和:輸入一個正整數(shù) n,輸出1~n之和。要求自定義和調(diào)用函數(shù)sum(n)求 1~n 之和。若要計(jì)算 m~n(m
2、int sum(int n)
{
int result, i;
result = 0;
for(i = 1; i <= n; i++)
result = result + i;
return result;
}
若要計(jì)算 m~n(m 3、 result, i;
result = 0;
for(i = m; i <= n; i++)
result = result + i;
return result;
}
【練習(xí)5-2】使用函數(shù)找最大值: 輸入2個數(shù),輸出其中較大的數(shù)。要求定義和調(diào)用函數(shù) max(a, b)找出并返回 a、b 中較大的數(shù)。試編寫相應(yīng)程序。
解答:
#include 4、 printf(“Input a and b:”);
scanf("%lf%lf",&a, &b);
printf("max= %lf\n", max(a, b));
return 0;
}
double max(double a, double b)
{
if(a > b)
return a;
else
return b;
}
【練習(xí)5-3】數(shù)字金字塔:輸入一個正整數(shù) n,輸出n行數(shù)字金字塔。試編寫相應(yīng)程序。
解答:
#include 5、
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 6、中靜態(tài)變量 f 定義成普通局部變量,還能實(shí)現(xiàn)計(jì)算 n!嗎?請上機(jī)檢驗(yàn)。若把 f 換成全局變量又會如何?
解答:
若把例 5-9 中靜態(tài)變量 f 定義成普通局部變量,無法實(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 語言程序中,若對函數(shù)類型未加顯式說明,則函數(shù)的隱含類型為 D 。
A.void B.double C.char D.int
2.下列程序的輸出結(jié)果是 D 7、 。
fun(int a, int b, int c)
{ c = a * b; }
int main(void)
{ int c;
fun(2, 3, c);
printf(”%d\n”, c);
return 0;
}
A.0 B.1 C.6 D.無法確定
3.建立自定義函數(shù)的目的之一是 B(優(yōu)先)、C 。
A.提高程序的執(zhí)行效率 B.提高程序的可讀性
C.減少程序的篇幅 D.減少程序文件所占內(nèi)存 8、
4.以下正確的函數(shù)定義形式是 A 。
A.double fun(int x, int y) B.double fun(int x; int y)
C.double fun(int x, int y); D.double fun(int x, y)
5.以下不正確的說法是 C 。
A.實(shí)參可以是常量、變量或表達(dá)式
C.形參可以是常量、變量或表達(dá)式
B.實(shí)參可以是任何類型
D.形參應(yīng)與對應(yīng)的實(shí)參類型一致
6.以下正確的說法是 D 。
A.實(shí)參與其對應(yīng)的形參共同占用一個存儲單元
B.實(shí)參與其對應(yīng)的形參各占用 9、獨(dú)立的存儲單元
C.只有當(dāng)實(shí)參與其對應(yīng)的形參同名時(shí)才占用一個共同的存儲單元
D.形參是虛擬的,不占用內(nèi)存單元
二、填空題
1.下列程序的輸出結(jié)果為 2357 。
#include 10、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.輸入若干個正整數(shù),判斷每個數(shù)從高位到低位各位數(shù)字是否按值從小到大排列,請根據(jù)題意,將程序補(bǔ)充完整。
#include 11、
while (n > 0) {
if(fun1(n))
printf("%d 中各位數(shù)字按從小到大排列\(zhòng)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 12、;
}
3.下列函數(shù)輸出一行字符:先輸出 kb 個空格,再輸出 n 個指定字符(由實(shí)參指定)。請根據(jù)題意,將程序補(bǔ)充完整。
#include 13、實(shí)現(xiàn)該分段函數(shù)。試編寫相應(yīng)程序。
1 x > 0
f(x)= 0 x = 0
-1 x < 0
解答:
#include 14、=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。試編寫相應(yīng)程序。
解答:
#include 15、 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( 16、x1,y1,x2,y2)計(jì)算兩點(diǎn)之間的距離。試編寫相應(yīng)程序。
解答:
#include 17、;
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ù)個數(shù)并求和:輸入兩個正整數(shù) m 和 n(1<=m, n<=500),統(tǒng)計(jì)并輸出 m 18、和 n 之間的素?cái)?shù)的個數(shù)以及這些素?cái)?shù)的和。要求定義并調(diào)用函數(shù) prime(m)判斷 m 是否為素?cái)?shù)。試編寫相應(yīng)程序。
解答:
#include 19、;m<=n;m++){
if(prime(m)==1){
sum=sum+m;
count++;
}
}
printf("%d和%d之間素?cái)?shù)的個數(shù):%d\n",m,n,count);
printf("%d和%d之間素?cái)?shù)的和:%d\n",m,n,sum);
return 0;
}
int prime(int m)
{
int i;
for(i=2;i<=sqrt(m);i++)
if(m%i==0)r 20、eturn 0;
if(i>h&&m!=1)return 1;
}
5.使用函數(shù)統(tǒng)計(jì)指定數(shù)字的個數(shù):讀 入 一 個 整 數(shù) , 統(tǒng) 計(jì) 并 輸 出 該 數(shù) 中“2” 的 個 數(shù) 。 要 求 定 義 并 調(diào) 用 函 數(shù)countdigit(number,digit),它的功能是統(tǒng)計(jì)整數(shù) number 中數(shù)字 digit 的個數(shù)。例如,countdigit(12292,2)的返回值是 3。試編寫相應(yīng)程序。
解答:
#include 21、 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= 22、-number;
while(number>0){
a=number;
if(number%10==digit)
count++;
number=number/10;
}
return count;
}
6.使用函數(shù)輸出水仙花樹:輸入兩個正整數(shù) m 和 n(1<=m,n<=1000),輸出 m~n 之間所有滿足各位數(shù)字的立方和等于它本身的數(shù)。要求定義并調(diào)用函數(shù) is(number),判斷number的各位數(shù)字之立方和是否等于它本身。試編寫相應(yīng)程序。
解答:
#include 23、 24、um, 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)的絕對值小于e。要求定義和調(diào)用函數(shù) funcos(e, x)求余弦函數(shù)的近似值。試編寫相應(yīng)程序 25、。
cosx=x0/0!-x2/2!+x4/4!-x6/6!+…
解答:
#include 26、 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;
}
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點(diǎn)美食推薦
- XX國有企業(yè)黨委書記個人述責(zé)述廉報(bào)告及2025年重點(diǎn)工作計(jì)劃
- 世界濕地日濕地的含義及價(jià)值
- 20XX年春節(jié)節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點(diǎn)節(jié)后常見的八大危險(xiǎn)
- 廈門城市旅游介紹廈門景點(diǎn)介紹廈門美食展示
- 節(jié)后開工第一課復(fù)工復(fù)產(chǎn)十注意節(jié)后復(fù)工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓(xùn)
- 深圳城市旅游介紹景點(diǎn)推薦美食探索
- 節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)勿忘安全本心人人講安全個個會應(yīng)急
- 預(yù)防性維修管理
- 常見閥門類型及特點(diǎn)
- 設(shè)備預(yù)防性維修
- 2.乳化液泵工理論考試試題含答案