C_primer_plus(第五版)(完整)_第1頁(yè)
C_primer_plus(第五版)(完整)_第2頁(yè)
C_primer_plus(第五版)(完整)_第3頁(yè)
C_primer_plus(第五版)(完整)_第4頁(yè)
C_primer_plus(第五版)(完整)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)用文案文案大全c_primer_plus(第五版 )( 完整 ) 第一章概覽編程練習(xí)1您剛剛被macromuscle 有限公司( software for hard bodies )聘用。該公司要進(jìn)入歐洲市場(chǎng),需要一個(gè)將英寸轉(zhuǎn)換為厘米(1英寸 =2.54 cm) 的程序。他們希望建立的該程序可提示用戶輸入英寸值。您的工作是定義程序目標(biāo)并設(shè)計(jì)該程序(編程過(guò)程的第1 步和第 2 步) 。1. 將英寸值轉(zhuǎn)化為厘米值2. 顯示“輸入英寸值”-得到該值 - 轉(zhuǎn)換為厘米值 -存儲(chǔ) - 告知用戶已結(jié)束第二章 c 語(yǔ)言概述編程練習(xí) 1 編寫(xiě)一個(gè)程序,調(diào)用printf()函數(shù)在一行上輸出您的名和姓,再調(diào)用一次

2、printf()函數(shù)在兩個(gè)單獨(dú)的行上輸出您的名和姓,然后調(diào)用一對(duì)printf()函數(shù)在一行上輸出您的名和姓。輸出應(yīng)如下所示(當(dāng)然里面要換成您的姓名) :anton bruckner anton bruckner anton bruckner 第一個(gè)輸出語(yǔ)句第二個(gè)輸出語(yǔ)句仍然是第二個(gè)輸出語(yǔ)句第三個(gè)和第四個(gè)輸出語(yǔ)句#include int main(void) printf(he jinn); printf(hen); 實(shí)用文案文案大全 printf(jinn); printf(he jinn); return(0); 2編寫(xiě)一個(gè)程序輸出您的姓名及地址。#include int main(void

3、) /此處不可加; printf(name:he jinn); printf(address:caucn); return(0); 3編寫(xiě)一個(gè)程序,把您的年齡轉(zhuǎn)換成天數(shù)并顯示二者的值。不用考慮平年( fractional year)和閏年 (leapyear)的問(wèn)題。#include int main(void) int age=22; printf(age:%dn,age); printf(day:%dn,age*356); return(0); 4編寫(xiě)一個(gè)能夠產(chǎn)生下面輸出的程序: for hes a jolly good fellow! 實(shí)用文案文案大全 for hes a jolly g

4、ood fellow! for hes a jolly good fellow! which nobody can deny! 程序中除了main() 函數(shù)之外,要使用兩個(gè)用戶定義的函數(shù):一個(gè)用于把上面的夸獎(jiǎng)消息輸出一次:另一個(gè)用于把最后一行輸出一次。#include void printf1(void); void printf2(void); int main(void) printf1(); printf1(); printf1(); printf2(); return(0); void printf1(void) printf(for hes a jolly good fellow!n

5、); void printf2(void) printf(which nobody can deny!n); 5 編寫(xiě)一個(gè)程序,創(chuàng)建一個(gè)名為toes 的整數(shù)變量。讓程序把toes設(shè)置為 10。再讓程序計(jì)算兩個(gè)toes 的和以及 toes 的平方。程序應(yīng)該輸出所有的3 個(gè)值,并分別標(biāo)識(shí)它們。#include int main(void) 實(shí)用文案文案大全 int toes=10; int toes_add; int toes_square; toes_add=toes+toes; toes_square=toes*toes; printf(toes=%dntoes_add=%dntoes_squ

6、are=%dn,toes,toes_add,toes_square); return(0); 6 編寫(xiě)一個(gè)能夠產(chǎn)生下列輸出的程序:smile ! smile ! smile smile ! smile ! smile ! 在程序中定義一個(gè)能顯示字符串smile 卜一次的函數(shù),并在需要時(shí)使用該函數(shù)。#include void display(void); int main(void) display(); display(); display(); printf(n); display(); display(); printf(n); display(); printf(n); return(0

7、); void display(void) printf(smile!); 實(shí)用文案文案大全 7編寫(xiě)一個(gè)程序,程序中要調(diào)用名為one_three()的函數(shù)。該函數(shù)要在一行中顯示單詞one ,再調(diào)用 two() 函數(shù), 然后再在另一行中顯示單詞three。 函數(shù) two() 應(yīng)該能在一行中顯示單詞two 。 main()函數(shù)應(yīng)該在調(diào)用one_three()函數(shù)之前顯示短語(yǔ)starting now: ,函數(shù)調(diào)用之后要顯示done !o 這樣,最后的輸出結(jié)果應(yīng)如下所示:starting now one two three done ! #include void one_three(void); v

8、oid two(void); int main(void) printf(starting now:n); one_three(); printf(done!n); return(0); void one_three(void) printf(onen); two(); printf(threen); void two(void) printf(twon); 第三章數(shù)據(jù)和 c 編程練習(xí) 1通過(guò)試驗(yàn)的方法(即編寫(xiě)帶有此類問(wèn)題的程序)觀察系統(tǒng)如何處理整數(shù)上溢、浮點(diǎn)數(shù)上溢和浮實(shí)用文案文案大全點(diǎn)數(shù)下溢的情況。#include int main(void) unsigned int a=42949672

9、95; float b=3.4e38; float c=b*10; float d=0.1234e-2; printf(%u+1=%un,a,a+1); printf(%e*10=%en,b,c); printf(%f/10=%fn,d,d/10); return(0); 2編寫(xiě)一個(gè)程序,要求輸入一個(gè)ascii 碼值 ( 如 66) ,然后輸出相應(yīng)的字符。#include int main(void) char a; scanf(%d,&a); printf(%cn,a); return(0); 3編寫(xiě)一個(gè)程序,發(fā)出警報(bào)聲,并打印下列文字: startled by the sudden

10、 sound, sally shouted, by the great pumpkin, what was that! #include int main(void) 實(shí)用文案文案大全 printf(astartled by the sudden sound,sally shouted,by the great pumpkin,what was that!n); return(0); 4 編寫(xiě)一個(gè)程序, 讀入一個(gè)浮點(diǎn)數(shù), 并分別以小數(shù)形式和指數(shù)形式打印。輸出應(yīng)如同下面格式 (實(shí)際顯示的指數(shù)位數(shù)也許因系統(tǒng)而不同): the input is 21.290000 or 2.129000e+001.

11、 #include int main(void) float a; scanf(%f,&a); printf(the input is %f or %en,a,a); return(0); 5一年約有3.156 l07s 。編寫(xiě)一個(gè)程序,要求輸入您的年齡,然后顯示該年齡合多少秒。#include int main(void) float a; printf(please input your age:); scanf(%f,&a); printf(your age is %e secondsn,a*3.156e7); return(0); 6.1個(gè)水分子的質(zhì)量約為3.0 10-

12、23g ,l 夸脫水大約有950g。編寫(xiě)一個(gè)程序,要求輸入水的夸實(shí)用文案文案大全脫數(shù),然后顯示這么多水中包含多少個(gè)水分子。#include int main(void) float a; printf(please input how much quarts the water is:); scanf(%f,&a); printf(%f quarts water has %e molecules.n,a,a*950/3e-23); return(0); 7. 1英寸等于2.54cm。編寫(xiě)一個(gè)程序,要求輸入您的身高(以英寸為單位),然后顯示該身高值等于多少厘米。如果您愿意,也可以要求以厘

13、米為單位輸入身高,然后以英寸為單位進(jìn)行顯示。#include int main(void) float a; printf(please input your height by inches:); scanf(%f,&a); printf(your height is %fcm.n,a*2.54); return(0); 第 4 章字符串和格式化輸入/ 輸出編程練習(xí) 1 編寫(xiě)一個(gè)程序,要求輸入名字和姓氏,然后以“名字,姓氏”的格式打印。實(shí)用文案文案大全#include int main(void) char surname20,firstname20; printf(please i

14、nput your firstname and surname:); scanf(%s,firstname); scanf(%s,surname); printf(you are %s,%s.n,firstname,surname); return(0); 2 編寫(xiě)一個(gè)程序,要求輸入名字,并執(zhí)行以下操作: a把名字引在雙引號(hào)中打印出來(lái)。 b在寬度為20 個(gè)字符的字段內(nèi)打印名字,并且整個(gè)字段引在引號(hào)內(nèi)。 c. 在寬度為 20 個(gè)字符的字段的左端打印名字,并且整個(gè)字段引在引號(hào)內(nèi)。 d在比名字寬3 個(gè)字符的字段內(nèi)打印它。#include #include int main(void) char na

15、me20; int width; printf(please input your name:); scanf(%s,name); printf(a:%sn,name); printf(b:%20sn,name); printf(c:%-20sn,name); width=strlen(name)+3; printf(d:%*sn,width,name);/*對(duì)應(yīng) width return(0); 3 編寫(xiě)一個(gè)程序,讀取一個(gè)浮點(diǎn)數(shù),并且首先以小數(shù)點(diǎn)記數(shù)法,然后以指數(shù)記數(shù)法打印之。輸出使實(shí)用文案文案大全用下列形式(在指數(shù)位置顯示的數(shù)字的位數(shù)可能會(huì)隨系統(tǒng)而不同): a. the input is

16、21.3 or 2.1e+001. b. the input is +21.290 or 2.129e+001. #include int main(void) float a; printf(please input a float:); scanf(%f,&a); printf(a.the input is %.1f or %.1en,a,a); printf(b.the input is %+.3f or %.3en,a,a); return(0); 4 編寫(xiě)個(gè)程序,要求輸入身高(以英寸為單位)和名字,然后以如下形式顯示: dabney, you are 6.208 feet t

17、all 使用 float類型,使用 / 作為除號(hào)。如果您愿意,可以要求以厘米為單位輸入身高,并以米為單位進(jìn)行顯示。#include int main(void) float height; char name20; printf(please input your height by inches:); scanf(%f,&height); printf(please input your name:); scanf(%s,name); printf(%s,you are %f feet talln,name,height/12); return(0); 實(shí)用文案文案大全 5.編寫(xiě)一個(gè)

18、程序,首先要求用戶輸入名字,然后要求用戶輸入姓氏。在一行打印輸入的姓名,在下行打印每個(gè)名字中字母的個(gè)數(shù)。把字母?jìng)€(gè)數(shù)與相應(yīng)名字的結(jié)尾對(duì)齊,如下所示: melissa honeybee 7 8 然后打印相同的信息,但是字母?jìng)€(gè)數(shù)與相應(yīng)單詞的開(kāi)始對(duì)齊。#include #include int main(void) char surname20,firstname20; printf(please input your firstname and surname:); scanf(%s,firstname); scanf(%s,surname); printf(%s %s.n,firstname,su

19、rname); printf(%*d %*dn,strlen(firstname),strlen(firstname),strlen(surname),strlen(surname);/*對(duì)應(yīng)寬度變量 printf(%s %s.n,firstname,surname); printf(%-*d %-*dn,strlen(firstname),strlen(firstname),strlen(surname),strlen(surname);/*對(duì)應(yīng)寬度變量 return(0); 6編寫(xiě)一個(gè)程序, 設(shè)置一個(gè)值為1.0/3.0的 double 類型變量和一個(gè)值為1.0/3.0的 float類型變量

20、。每個(gè)變量的值顯示三次:一次在小數(shù)點(diǎn)右側(cè)顯示4 個(gè)數(shù)字,一次在小數(shù)點(diǎn)右側(cè)顯示12個(gè)數(shù)字,另一次在小數(shù)點(diǎn)右側(cè)顯示16 個(gè)數(shù)字。同時(shí)要讓程序包括float.h文件, 并顯示 fltdig 和 dbl_dig的值。 1.0/3.0的顯示值與這些值一致嗎?#include #include int main(void) 實(shí)用文案文案大全 double a=1.0/3.0; float b=1.0/3.0; printf(double a=1.0/3.0:n); printf(%.4en,a); printf(%.12en,a); printf(%.16enn,a); printf(float b=1.

21、0/3.0:n); printf(%.4fn,b); printf(%.12fn,b); printf(%.16fnn,b); printf(flt_dig:%dn,flt_dig); printf(dbl_dig:%dn,dbl_dig); return(0); 7 編寫(xiě)一個(gè)程序, 要求用戶輸入行駛的英里數(shù)和消耗汽油的加侖數(shù)。接著應(yīng)該計(jì)算和顯示消耗每加侖汽油行駛的英里數(shù),顯示方式是在小數(shù)點(diǎn)右側(cè)顯示一個(gè)數(shù)字。然后,根據(jù)l 加侖約等于3.785 升, l 英里約等于 1.609 公里的規(guī)則,它應(yīng)該把每加侖英里數(shù)轉(zhuǎn)換成每100 公里的升數(shù)(歐洲通用的燃料消耗表示法) ,并顯示結(jié)果,顯示方式是在小數(shù)

22、點(diǎn)右側(cè)顯示一個(gè)數(shù)字(請(qǐng)注意,美國(guó)方案測(cè)量每單位距離消耗的燃料數(shù),而歐洲方案測(cè)量每單位燃料的行駛距離)。用符號(hào)常量表示兩個(gè)轉(zhuǎn)換系數(shù)(使用const 或#define ) 。#include #define gallon 3.785 /1 gallon = 2.785 litre #define mile 1.609 /1 mile = 1.609 kilometer int main(void) float mile,gallon; printf(please input miles and gallons:); scanf(%f %f,&mile,&gallon); print

23、f(miles per gallon:%.1fn,mile/gallon); printf(litres per 100 kilometre:%.1fn,gallon*gallon/(100*mile*mile); return(0); 實(shí)用文案文案大全第 5 章運(yùn)算符、表達(dá)式和語(yǔ)句編程練習(xí) 1 編寫(xiě)一個(gè)程序。 將用分鐘表示的時(shí)間轉(zhuǎn)換成以小時(shí)和分鐘表示的時(shí)間。使用 #define或者 const來(lái)創(chuàng)建一個(gè)代表60 的符號(hào)常量。 使用 while 循環(huán)來(lái)允許用戶重復(fù)鍵入值,并且當(dāng)鍵入一個(gè)小于等于0 的時(shí)間時(shí)終止循環(huán)。#include #define hour 60 int main(void)

24、int minutes; printf(please input the minutes:); scanf(%d,&minutes); while(minutes0) printf(%d hours and %d minutesn,minutes/hour,minutes%hour); printf(please input the minutes:); scanf(%d,&minutes); return(0); 2編寫(xiě)一個(gè)程序,此程序要求輸入一整數(shù),然后打印出從(包括)輸入的值到(包括)比輸入的值大 10 的所有整數(shù)值(也就是說(shuō),如果輸入為5,那么輸出就從5 到 15) 。

25、要求在各個(gè)輸出值之間用空格、制表符或換行符分開(kāi)。#include int main(void) int num,i=0; 實(shí)用文案文案大全 printf(please input the number:); scanf(%d,&num); while(i+11) printf(%d ,num+); return(0); 3 編寫(xiě)一個(gè)程序,該程序要求用戶輸入天數(shù),然后將該值轉(zhuǎn)換為周數(shù)和天數(shù)。例如,此程序?qū)?8天轉(zhuǎn)換成2 周 4 天。用下面的格式顯示結(jié)果:使用一個(gè) while 循環(huán)讓用戶重復(fù)輸入天數(shù);當(dāng)用戶輸入一個(gè)非正數(shù)(如0 或 -20)時(shí),程序?qū)⒔K止循環(huán)。#include #defi

26、ne week 7 int main(void) int days; printf(please input the days:); scanf(%d,&days); while(days0) printf(%d days are %d weeks,%d days.n,days,days/week,days%week); printf(please input the days:); scanf(%d,&days); return(0); 4 編寫(xiě)一個(gè)程序讓用戶按厘米輸入一個(gè)高度值,然后,程序按照厘米和英尺英寸顯示這個(gè)高度值。允許厘米和英寸的值出現(xiàn)小數(shù)部分。程序允許用戶繼續(xù)輸入

27、,直到用戶輸入一個(gè)非正的數(shù)值。程序運(yùn)行的示例如下面所示:enter a height in centimeters: 182 182.0 cm = 5 feet, 11.7 inches enter a height in centimeters(=o to quit): 168 實(shí)用文案文案大全168.0 cm = 5 feet, 6.1 inches enter a height in centimeters(=o to quit): 0 bye #include #define inch 2.54 / 1 inch = 2.54cm int main(void) float cm; pr

28、intf(enter a height in centimeters:); scanf(%f,&cm); while(cm0) printf(%.1f cm = %d feet, %.1f inchesn,cm,int(cm/inch/12),cm/inch-int(cm/inch/12)*12); printf(enter a height in centimeters(=0 to quit):); scanf(%f,&cm); printf(byen); return(0); 5.改寫(xiě)用來(lái)找到前20 個(gè)整數(shù)之和的程序addemup.c(程序清單5.13 ) (如果您愿意,可

29、以把a(bǔ)ddemup.c 程序看成是一個(gè)計(jì)算如果您第一天得到$l ,第二天得到 $2,第三天得到 $3,以此類推,您在20天里會(huì)掙多少錢的程序) 。修改該程序,目的是您能交q 地告訴程序計(jì)算將進(jìn)行到哪里。也就是說(shuō),用一個(gè)讀入的變量來(lái)代替20。#include int main(void) int count,sum,max; count=0; sum=0; printf(please input the max:); scanf(%d,&max); while(count+ max) sum = sum + count; 實(shí)用文案文案大全 printf(sum = %dn,sum); r

30、eturn(0); 6.現(xiàn)在修改編程練習(xí)5 中的程序,使它能夠計(jì)算整數(shù)平方的和(如果您喜歡,可以這樣認(rèn)為:如果您第一天得到 $l ,第二天得到 $4,第三天得到 $9,以此類推您將得到多少錢。這看起來(lái)像一個(gè)很好的買賣) 。c沒(méi)有平方函數(shù),但是您可以利用n 的平方是 n*n 的事實(shí)。#include int main(void) int count,sum,max; count=0; sum=0; printf(please input the max:); scanf(%d,&max); while(count+max) sum = sum + count * count; print

31、f(sum = %dn,sum); return(0); 7編寫(xiě)一個(gè)程序, 該程序要求輸入一個(gè)float型數(shù)并打印該數(shù)的立方值。使用您自己設(shè)計(jì)的函數(shù)來(lái)計(jì)算該值的立方并且將它的立方打印出來(lái)。main() 程序把輸入的值傳遞給該函數(shù)。#include float cube(float); int main(void) float number; printf(please input the number:); scanf(%f,&number); 實(shí)用文案文案大全 printf(the cube of %f is %fn,number,cube(number); return(0); f

32、loat cube(float num) return(num * num * num); 8編寫(xiě)一個(gè)程序,該程序要求用戶輸入一個(gè)華氏溫度。程序以double 類型讀入溫度值,并將它作為一個(gè)參數(shù)傳遞給用戶提供的函數(shù)temperatures()。該函數(shù)將計(jì)算相應(yīng)的攝氏溫度和絕對(duì)溫度,并以小數(shù)點(diǎn)右邊有兩位數(shù)字的精度顯示這三種溫度。它應(yīng)該用每個(gè)值所代表的溫度刻度來(lái)標(biāo)識(shí)這3 個(gè)值。下面是將華氏溫度轉(zhuǎn)換成攝氏溫度的方程:通常用在科學(xué)上的絕對(duì)溫度的刻度是0 代表絕對(duì)零,是可能溫度的下界。下面是將攝氏溫度轉(zhuǎn)換為絕對(duì)溫度的方程: kelvin=celsius+273.16 temperatures()函數(shù)使用

33、 const 來(lái)創(chuàng)建代表該轉(zhuǎn)換里的3 個(gè)常量的符號(hào)。main() 函數(shù)將使用一個(gè)循環(huán)來(lái)允許用戶重復(fù)地輸入溫度,當(dāng)用戶輸入q 或其他非數(shù)字值時(shí),循環(huán)結(jié)束。#include void temperatures(double); int main(void) double fahrenheit; printf(please input the fahrenheit:); while(scanf(%lf,&fahrenheit) = 1) /scanf的返回值代表成功輸入的變量的數(shù)目,非數(shù)字不會(huì)被成功輸入 temperatures(fahrenheit); printf(please inpu

34、t the fahrenheit:); printf(endn); return(0); void temperatures(double fahrenheit) const double a=1.8,b=32.0,c=273.16; printf(fahrenheit = %lft,fahrenheit); printf(celsius = %lft,a * fahrenheit + b); printf(kelvin = %lfn,a * fahrenheit + b + c); 實(shí)用文案文案大全 第 6 章 c 控制語(yǔ)句:循環(huán)編程練習(xí) 1編寫(xiě)一個(gè)程序,創(chuàng)建一個(gè)具有26 個(gè)元素的數(shù)組,并在

35、其中存儲(chǔ)26 個(gè)小寫(xiě)字母。并讓該程序顯示該數(shù)組的內(nèi)容。#include int main(void) char abc26; int i; for(i=0;i26;i+) abci = a + i; for(i=0;i26;i+) printf(%c,abci); printf(n); return(0); 2 使用嵌套循環(huán)產(chǎn)生下列圖案: s $ $ $ $ 實(shí)用文案文案大全#include int main(void) int i,j; for(i=0;i5;i+) for(j=0;j=i;j+) printf($); printf(n); return(0); 3 使用嵌套循環(huán)產(chǎn)生下列圖案

36、:f fe fed fedc fedcb fedcba 請(qǐng)注意:如果您的系統(tǒng)不使用asc 或其他以數(shù)字順序編碼的碼,您可以把一個(gè)字符數(shù)組初始化為字母表中的字母:char lets26=abcdefghijklmnopqrstuvwxyz; 然后就可以使用數(shù)組索引來(lái)選用單個(gè)的字母,例如lets0是a ,等等。#include int main(void) int i,j; for(i=0;i6;i+) for(j=0;j=i;j+) printf(%c,f-j); printf(n); 實(shí)用文案文案大全 return(0); 4讓程序要求用戶輸入一個(gè)大寫(xiě)字母,使用嵌套循環(huán)產(chǎn)生像下面這樣的金字塔圖

37、案: a aba abcba abcdcda abcdedcba 這種圖案要擴(kuò)展到用戶輸入的字符。例如,前面的圖案是在輸入e 時(shí)需要產(chǎn)生的。提示:使用一個(gè)外部循環(huán)來(lái)處理行,在每一行中使用三個(gè)內(nèi)部循環(huán),一個(gè)處理空格,一個(gè)以升序打印字母,一個(gè)以降序打印字母。如果您的系統(tǒng)不使用ascii 或類似的以嚴(yán)格數(shù)字順序表示字母的編碼,請(qǐng)參見(jiàn)在編程練習(xí)3 中給出的建議。#include int main(void) int i,j,k; char letter; printf(please input a capital:); scanf(%c,&letter); k=letter-a+1; for(

38、i=0;ik;i+) for(j=0;jk-i;j+) printf( ); for(j=0;j=0;j-) printf(%c,a+j); printf(n); return(0); 5編寫(xiě)一個(gè)程序打印一個(gè)表,表的每一行都給出一個(gè)整數(shù)、它的平方以及它的立方。要求用戶輸入表的上限與下限。使用一個(gè)for循環(huán)。實(shí)用文案文案大全#include int main(void) int i,min,max; printf(please input the min and max:); scanf(%d %d,&min,&max); printf(%10s%10s%10sn,num,squ

39、are,cube); for(i=min;i=max;i+) printf(%10d%10d%10dn,i,i*i,i*i*i); return(0); 6編寫(xiě)一個(gè)程序把一個(gè)單詞讀入一個(gè)字符數(shù)組,然后反向打印出這個(gè)詞。提示:使用strlen()(第 4 章)計(jì)算數(shù)組中最后一個(gè)字符的索引。#include #include int main(void) char word20; int i; printf(please input a word:); scanf(%s,&word); for(i=strlen(word)-1;i=0;i-) printf(%c,wordi); print

40、f(n); return(0); 7編寫(xiě)一個(gè)程序,要求輸入兩個(gè)浮點(diǎn)數(shù),然后打印出用二者的差值除以二者的乘積所得的結(jié)果。在用戶鍵入非數(shù)字的輸入之前程序循環(huán)處理每對(duì)輸入值。實(shí)用文案文案大全#include int main(void) float a,b; printf(please input two floats:); while(scanf(%f%f,&a,&b) =2 ) printf(%.2f-%.2f) / (%.2f*%.2f) = %.2fn,a,b,a,b,(a-b) / (a*b); printf(please input two floats:); print

41、f(endn); return(0); 8對(duì)練習(xí) 7 進(jìn)行修改,讓它使用一個(gè)函數(shù)來(lái)返回計(jì)算值。#include float calculate(float,float); int main(void) float a,b; printf(please input two floats:); while(scanf(%f%f,&a,&b) =2 ) printf( (%.2f-%.2f) / (%.2f*%.2f) = %.2fn,a,b,a,b,calculate(a,b) ); printf(please input two floats:); printf(endn); r

42、eturn(0); float calculate(float x,float y) return( (x-y) / (x*y) ); 實(shí)用文案文案大全 9編寫(xiě)一個(gè)程序,要求用戶輸入下限整數(shù)和一個(gè)上限整數(shù),然后,依次計(jì)算從下限到上限的每一個(gè)整數(shù)的平方的加和,最后顯示結(jié)果。程序?qū)⒉粩嗵崾居脩糨斎胂孪拚麛?shù)和上限整數(shù)并顯示出答案,直到用戶輸入的上限整數(shù)等于或小于下限整數(shù)為止。程序運(yùn)行的結(jié)果示例應(yīng)該如下所示: enter lower and upper integer limits: 5 9 the sums of the squares from 25 t0 81 is 255 enter next

43、 set of limits:3 25 the sums of the squares from 9 t0 625 is 5520 enter next set of limits:5 5 done #include int main(void) int lower,upper,sum,i; printf(enter lower and upper integer limits:); scanf(%d%d,&lower,&upper); while(lowerupper ) for(i=lower,sum=0;i=upper;i+) sum+=i*i; printf(the s

44、ums of the squates from %d to %d is %dn,lower*lower,upper*upper,sum); printf(enter next set of limits:); scanf(%d%d,&lower,&upper); printf(donen); return(0); 10. 編寫(xiě)一個(gè)程序把8 個(gè)整數(shù)讀入一個(gè)數(shù)組中,然后以相反的順序打印它們。#include int main(void) int num8,i; printf(enter 8 numbers:); for(i=0;i=0;i-) printf(%dt,numi); p

45、rintf(n); return(0); 11. 考慮這兩個(gè)無(wú)限序列: 1.0+1.0/2.0+1.0/3.0+1.0/4.0+ 1.0 - 1.0/2.0+1.0/3.0 - 1.0/4.0+編寫(xiě)一個(gè)程序來(lái)計(jì)算這兩個(gè)序列不斷變化的總和,直到達(dá)到某個(gè)次數(shù)。讓用戶交互地輸入這個(gè)次數(shù)??纯丛?20 次、 100次和 500次之后的總和。是否每個(gè)序列都看上去要收斂于某個(gè)值?提示:奇數(shù)個(gè)-1相乘的值為 -1 ,而偶數(shù)個(gè) -1 相乘的值為1。#include int main(void) double i,sum1,sum2; int sign,count; printf(enter the count

46、:); scanf(%d,&count); for(i=1.0,sign=1,sum1=0,sum2=0;i=count;i+,sign -= sign) sum1 += 1.0 / i; sum2 += sign * 1.0 / i; printf(1.0 + 1.0/2.0 + 1.0/3.0 + 1.0/4.0 .(%d terms) = %lfn,count,sum1); printf(1.0 - 1.0/2.0 + 1.0/3.0 - 1.0/4.0 .(%d terms) = %lfn,count,sum2); return(0); 12.編寫(xiě)一個(gè)程序, 創(chuàng)建一個(gè) 8 個(gè)元

47、素的int 數(shù)組, 并且把元素分別設(shè)置為2 的前 8 次冪, 然后打印出它們的值。使用for循環(huán)來(lái)設(shè)置值;為了變化,使用do while循環(huán)來(lái)顯示這些值。#include 實(shí)用文案文案大全#include int main(void) int num8,i; for(i=0;i8;i+) numi = pow(2,i); /pow乘冪函數(shù)用到 math 頭文件 i = 0; do printf(%dt,numi); while(+i8); printf(n); return(0); 13.編寫(xiě)一個(gè)程序,創(chuàng)建兩個(gè)8 元素的 double 數(shù)組,使用一個(gè)循環(huán)來(lái)讓用戶鍵入第一個(gè)數(shù)組的8個(gè)元素的值。程

48、序把第二個(gè)數(shù)組的元素設(shè)置為第一個(gè)數(shù)組元素的累積和。例如,第二個(gè)數(shù)組的第4 個(gè)元素應(yīng)該等于第一個(gè)數(shù)組的前4 個(gè)元素的和,第二個(gè)數(shù)組的第5 個(gè)元素應(yīng)該等于第一個(gè)數(shù)組的前5 個(gè)元素的和(使用嵌套循環(huán)可以做到這一點(diǎn)。不過(guò)利用第二個(gè)數(shù)組的第5 個(gè)元素等于第二個(gè)數(shù)組的第4 個(gè)元素加上第一個(gè)數(shù)組的第5 個(gè)元素這一事實(shí), 可以避免嵌套而只使用單個(gè)循環(huán)來(lái)完成這個(gè)任務(wù))。最后,使用一個(gè)循環(huán)來(lái)顯示兩個(gè)數(shù)組中的內(nèi)容,第一個(gè)數(shù)組在一行中顯示,而第二個(gè)數(shù)組中的每個(gè)元素在第一個(gè)數(shù)組的對(duì)應(yīng)元素之下進(jìn)行顯示。#include int main(void) double num8,sum8; int i,j; printf(en

49、ter 8 numbers:); for(i=0;i8;i+) scanf(%lf,&numi); for(j=0,sumi=0;j=i;j+) sumi += numj; for(i=0;i8;i+) printf(%8.3lf,numi); printf(n); for(i=0;i8;i+) 實(shí)用文案文案大全 printf(%8.3lf,sumi); printf(n); return(0); 14.編寫(xiě)一個(gè)程序讀入一行輸入,然后反向打印該行。您可以把輸入存儲(chǔ)在一個(gè)char 數(shù)組中;假定該行不超過(guò)255 個(gè)字符。回憶一下,您可以使用具有%c說(shuō)明符的 scanf()從輸入中一次讀入一

50、個(gè)字符,而且當(dāng)您按下回車鍵時(shí)會(huì)產(chǎn)生換行字符(n) 。#include #define length 20 int main(void) char a255; int i; for(i=0;i=0;i-) printf(%c,ai); printf(n); return(0); 15. daphne以 10% 的單利息投資了100美元 ( 也就是說(shuō),每年投資贏得的利息等于原始投資的10%)。deirdre則以每年 5% 的復(fù)合利息投資了10o美元(也就是說(shuō), 利息是當(dāng)前結(jié)余的5% , 其中包括以前的利息) 。編寫(xiě)一個(gè)程序,計(jì)算需要多少年deirdre的投資額才會(huì)超過(guò)daphne,并且顯示出到那時(shí)

51、兩個(gè)人的投資額。#include int main(void) double daphne=100,deirdre=100; int i=0; while(daphne=deirdre) 實(shí)用文案文案大全 daphne += 100 * 0.1; deirdre += deirdre * 0.05; i+; printf(after %d years,deirdres investment is %lf,daphnes investment is %lfn,i,deirdre,daphne); return(0); 16. chuckie lucky贏了 100 萬(wàn)美元,他把它存入一個(gè)每年贏得

52、8% 的帳戶。在每年的最后一天,chuckie 取出 10萬(wàn)美元。編寫(xiě)一個(gè)程序,計(jì)算需要多少年chuckie 就會(huì)清空他的帳戶。#include int main(void) double investment = 100; int i=0; while(investment 0) investment += investment * 0.08; investment -= 10; i+; printf(after %d years,chuckie luckys investment is outn,i,investment); return(0); 實(shí)用文案文案大全第七章 c 控制語(yǔ)句:分支

53、和跳轉(zhuǎn)編程練習(xí) 1編寫(xiě)一個(gè)程序。該程序讀取輸入直到遇到#字符,然后報(bào)告讀取的空格數(shù)目、讀取的換行符數(shù)目以及讀取的所有其他字符數(shù)目。#include int main(void) int space=0,newline=0,others=0; char a; printf(please input a string end by #:); while(a=getchar() != #) if(a = ) space+; else if (a = n) newline+; else others+; printf(space: %d,newline: %d,others: %dn,space,ne

54、wline,others); return(0); 2編寫(xiě)一個(gè)程序,該程序讀取輸入直到遇到#字符。使程序打印每個(gè)輸入的字符以及它的十進(jìn)制ascii 碼。每行打印8 個(gè)字符,編碼對(duì)。建議:利用字符計(jì)數(shù)和模運(yùn)算符(%)在每 8 個(gè)循環(huán)周期時(shí)打印一個(gè)換行符。#include int main(void) char a; int i; printf(please input a string end by #:); 實(shí)用文案文案大全 for(i = 1; (a = getchar() != #; i+) printf(%c-%dt,a,a); if(i%8 = 0) printf(n); printf

55、(n); return(0); 3 編寫(xiě)一個(gè)程序。該程序讀取整數(shù),直到輸入0。輸入終止后,程序應(yīng)該報(bào)告輸入的偶數(shù)(不包括0)總個(gè)數(shù)、偶數(shù)的平均值,輸入的奇數(shù)總個(gè)數(shù)以及奇數(shù)的平均值。#include int main(void) int i_even = 0, sum_even = 0, i_odd = 0, sum_odd = 0, num; printf(please input numbers (0 to quit):); while(1) scanf(%d,&num); if (num = 0) break; if (num % 2 = 0) i_even+; sum_even

56、+= num; else i_odd+; sum_odd += num; printf(even numbers count: %dn,i_even); printf(even numbers sum : %dn,sum_even); printf(odd numbers count: %dn,i_odd); printf(odd numbers sum : %dn,sum_odd); return(0); 4 利用 if else語(yǔ)句編寫(xiě)程序讀取輸入,直到#。用一個(gè)感嘆號(hào)代替每個(gè)句號(hào),將原有的每個(gè)感嘆號(hào)用兩個(gè)感嘆號(hào)代替,最后報(bào)告進(jìn)行了多少次替代。#include 實(shí)用文案文案大全int ma

57、in(void) int a=0,b=0; char ch; printf(please input a string end by #:); while(ch = getchar() != #) if(ch = .) putchar(!); a+; else if(ch = !) putchar(!);putchar(!); b+; else putchar(ch); printf(nthe times of . replaced by !: %dn,a); printf(the times of ! replaced by !: %dn,b); return(0); 5用 switch重做

58、練習(xí) 3。#include int main(void) int i_even = 0, sum_even = 0, i_odd = 0, sum_odd = 0, num; printf(please input numbers (0 to quit):); while(1) scanf(%d,&num); if (num = 0) break; switch(num % 2) case 0: i_even+; sum_even += num; break; case 1: i_odd+; sum_odd += num; printf(even numbers count: %dn,

59、i_even); printf(even numbers sum : %dn,sum_even); printf(odd numbers count: %dn,i_odd); printf(odd numbers sum : %dn,sum_odd); 實(shí)用文案文案大全 return(0); 6編寫(xiě)一個(gè)程序讀取輸入,直到#,并報(bào)告序列ei 出現(xiàn)的次數(shù)。此程序必須要記住前一個(gè)字符和當(dāng)前的字符。用諸如“receive your eieio award.”的輸入測(cè)試它。#include int main(void) char former=0,present; int count=0; while(

60、present=getchar() != #) if(former = e) & (present = i) count+; former = present; printf(ei has appeared %d timesn,count); return(0); 7 編寫(xiě)程序,要求輸入一周中的工作小時(shí)數(shù),然后打印工資總額、稅金以及凈工資。作如下假設(shè): a基本工資等級(jí)=10.00 美元 /j,時(shí) b加班(超過(guò)40 小時(shí)) =1.5 倍的時(shí)間 c稅率前 300 美元為 15% 下一個(gè) 150 美元為 20% 余下的為 25% 用#define定義常量,不必關(guān)心本例是否符合當(dāng)前的稅法。#include /a.基本工資#define basic 10.00 /基本工資等級(jí) =basic美元 / 小時(shí)/b.加班#define time 40 /加班(超過(guò)time小時(shí)) = #define add 1.5 /add倍的時(shí)間/c.稅率實(shí)用文案文案大全#define lim

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論