C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)及代碼_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)及代碼_第2頁(yè)
已閱讀5頁(yè),還剩23頁(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、c語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)及代碼 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 西南林業(yè)高校 c語(yǔ)言程序設(shè)計(jì)試驗(yàn)題、代碼、輸出結(jié)果 編寫(xiě)目的:同學(xué)的痛,大家都明白,特殊是學(xué)渣的痛。呃,不過(guò)我慢慢從學(xué)渣勝利逆襲,所以最 后才會(huì)整理下這些信息,為了讓后面的人在面對(duì)這c語(yǔ)言時(shí)不會(huì)那么腦大,不用像我們開(kāi)頭時(shí)候的茫然。 仔細(xì)享受在課堂上get學(xué)問(wèn)的過(guò)程,接下去的事:作業(yè)考試也是水到渠成的事情,有的課程的卻要花點(diǎn)時(shí)間,但就像那句話說(shuō)的:no pain,no get. 付出不肯定會(huì)有收獲,但是不付出肯定會(huì)讓你懊悔。所以,仔細(xì)聽(tīng)課,不僅僅只是c語(yǔ)言,還有其他的課程。 試驗(yàn)題目及代碼、輸出

2、結(jié)果 試驗(yàn)題目名目 名目 p1-p6 printf簡(jiǎn)潔輸出三角形-p6 給定圓半徑值為5,編程求圓面積和圓周長(zhǎng)-p6 編寫(xiě)一個(gè)攝氏溫度與華氏溫度之間的轉(zhuǎn)換程序-p6 編寫(xiě)程序,從鍵盤上輸入兩個(gè)電阻值,求它們并聯(lián)電阻值和串聯(lián)電阻值,輸出結(jié)果保留兩位小數(shù)。-p7(有主函數(shù)子函數(shù)-p26) 使用兩種指定的方法打印正三角形數(shù)陣-p7 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 從鍵盤輸入3個(gè)數(shù)字字符,將它們分別轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)值(即字符0轉(zhuǎn)換為整數(shù)0,字符1轉(zhuǎn)換為整數(shù)1,依次類推),然后求3個(gè)整數(shù)的平均值。-p8 從鍵盤輸入兩個(gè)兩位的正整數(shù),根據(jù)以下格式組裝成一個(gè)四位的

3、正整數(shù)。-p8(指針變量-p19) 輸入三角形的三條邊長(zhǎng),求三角形的面積。-p9 從鍵盤任意輸入3個(gè)整數(shù),選出其中的最大數(shù)并打印。-p10 從鍵盤輸入三個(gè)正整數(shù),推斷否能構(gòu)成三角形的三邊?-p10 從鍵盤輸入一個(gè)合法的算術(shù)運(yùn)算符(+、-、*、/)及兩個(gè)實(shí)數(shù),使用if語(yǔ)句編寫(xiě)程序,依據(jù)輸入的運(yùn)算符推斷對(duì)這兩個(gè)實(shí)數(shù)進(jìn)行何種運(yùn)算,并打印運(yùn)算結(jié)果(要求結(jié)果保留兩位小數(shù))。-p11(有主函數(shù)子函數(shù)-p21) 從鍵盤輸入一個(gè)年份和一個(gè)月份,使用switch語(yǔ)句編程推斷并打印該月的天數(shù)-p12 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 從鍵盤輸入1個(gè)整型的分?jǐn)?shù),使用swit

4、ch語(yǔ)句編程,推斷假如分?jǐn)?shù)介于0 59分之間就打印“不及格”;假如介于60 79分之間就打印“及格”;假如介于80 89之間就打印“良好”;假如介于90 100之間就打印“優(yōu)秀”。-p13 使用while語(yǔ)句編程求100以內(nèi)能被5整除但不能同時(shí)被7整除的數(shù),并統(tǒng)計(jì)找到的數(shù)的個(gè)數(shù)。-p13 從鍵盤輸入一個(gè)正整數(shù),使用while語(yǔ)句編程求該整數(shù)是一個(gè)幾位數(shù)。-p14 使用while語(yǔ)句編程求an= n1n項(xiàng)和-p14 n1 使用for語(yǔ)句編程求an= n1 的前n項(xiàng)和-p15 使用for語(yǔ)句編程求an= 使用for語(yǔ)句的嵌套結(jié)構(gòu)編程打印九-九乘法表-p16 定義一個(gè)大小為10的整型一維數(shù)組,初始化

5、全部數(shù)組元素,編程查找數(shù)組中的全部奇數(shù),并統(tǒng)計(jì)奇數(shù)的個(gè)數(shù)-p17 1 i=0n n項(xiàng)和-p16 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 定義一個(gè)大小為10的整型一維數(shù)組,初始化其中的9個(gè)元素,這9個(gè)元素已經(jīng)根據(jù)降序排列。從鍵盤再輸入1個(gè)整數(shù),將該整數(shù)插入到已有的元素中,需保證這10個(gè)數(shù)仍舊根據(jù)降序排序。-p18 利用指針編程,其功能是求電阻的并聯(lián)值和串聯(lián)值。-p18 利用指針編程,其功能是利用“除號(hào)”和“求余號(hào)”將輸入的兩個(gè)兩位的正整數(shù)組合成一個(gè)新的四位的正整數(shù)。-p16 定義一個(gè)大小為10的整型一維數(shù)組并初始化數(shù)組元素,再定義一個(gè)指針變量讓其指向該數(shù)組,利

6、用指針編程查找數(shù)組中的全部奇數(shù)。-p20 輸入三角形的三條邊長(zhǎng),定義一個(gè)子函數(shù)fun( )求三角形的面積-p21 定義一個(gè)子函數(shù)fun( )打印菱形。-p22 定義一個(gè)子函數(shù)fun( ),其功能是求1累加到100的和-p23 1定義一個(gè)子函數(shù)fun( ) ,求表達(dá)式an=的前n項(xiàng)和-p23 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 定義一個(gè)fun( )函數(shù),其功能是:求兩個(gè)整數(shù)的和、差、積、商。-p26 在主函數(shù)中輸入一元二次方程ax2+bx+c=0的三個(gè)系數(shù)a、b、c,求方程的實(shí)根。定義三個(gè)子函數(shù) fun1( )、fun2( )、fun3( ) 分別處理方程

7、有無(wú)實(shí)根、有兩個(gè)相同實(shí)根、有兩個(gè)不同實(shí)根的狀況-p27 從鍵盤上輸入一個(gè)的字符串,輸出全部ascii碼為奇數(shù)的字符,并統(tǒng)計(jì)這些字符的個(gè)數(shù)。-p28 從鍵盤上輸入一個(gè)由大寫(xiě)字母、小寫(xiě)字母、數(shù)字字符、其它字符構(gòu)成的字符串,統(tǒng)計(jì)字符串中的大寫(xiě)字母?jìng)€(gè)數(shù)、小寫(xiě)字母?jìng)€(gè)數(shù)、數(shù)字字符個(gè)數(shù)、其它字符個(gè)數(shù)。-p28 從鍵盤輸入兩個(gè)字符串,分別存到字符數(shù)組a和字符數(shù)組b中,編程將其次個(gè)字符串連接到第一個(gè)字符串末尾,形成一個(gè)新字符串。(不使用#includestring.h庫(kù)函數(shù))-p29 使用while語(yǔ)句編程求an=從0開(kāi)頭)前n項(xiàng)值,直到某一項(xiàng) n! xn 的值小于10-6就結(jié)束循環(huán)。-p30 使用for語(yǔ)句的

8、嵌套結(jié)構(gòu)編程打印行數(shù)為奇數(shù)的對(duì)稱三教菱形 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 -p31 從鍵盤輸入一個(gè)正整數(shù)x,編程求比x大的,最接近x的n個(gè)素?cái)?shù),例如,為x和n分別輸入數(shù)值10和15,就表示求出比10大的,最接近10的15個(gè)素?cái)?shù)。-p31 題目及答案 printf( )函數(shù)的編程練習(xí)格式1 編程輸出如圖所示的三角形。 void main() printf(*n ); printf(*n ); printf(*n ); printf(*n ); 給定圓半徑值為5,編程求圓面積和圓周長(zhǎng) 提示: (1)本題需定義三個(gè)浮點(diǎn)型變量,如 double r = 5,

9、 s, l; (2)輸出浮點(diǎn)型數(shù)據(jù)的格式說(shuō)明符是 %lf (3)c語(yǔ)言中沒(méi)有這個(gè)符號(hào),編寫(xiě)程序時(shí)直接使用3.14159 (4)c語(yǔ)言中沒(méi)有求次方的運(yùn)算符,求次方可用連乘的方法 #includestdio.h #define pi 3.14159 int main() float r=5; printf(圓半徑=%lfn圓面積=%fn圓周長(zhǎng)=%fn,r,pi*r*r,2*pi*r); (其中一個(gè)數(shù)的n次方可以用數(shù)學(xué)運(yùn)算來(lái)算pow(r,n),“r”為底數(shù),n為次數(shù)) scanf( )函數(shù)、運(yùn)算符編程練習(xí) 編寫(xiě)一個(gè)攝氏溫度與華氏溫度之間的轉(zhuǎn)換程序,轉(zhuǎn)換 9公式是: f c 32 提示:該公式中的“5

10、c”是一個(gè)從鍵盤輸入的已知量;“f”是通過(guò)公式計(jì)算并打印出來(lái)的未知量。 #include stdio.h void main() 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 double f,c; printf(請(qǐng)輸入一個(gè)攝氏溫度值:,c); scanf(%lf,c); f=1.8*c+32;/或f=9/5*c+32若定義類型為int,則需要變?yōu)閒=9.0/5*c+32或f=9/5.0*c+32或用強(qiáng)制類型轉(zhuǎn)換f=(double)(9/5)*c+32;緣由是除號(hào)“/”在運(yùn)算時(shí)為整型運(yùn)算 printf(對(duì)應(yīng)的華氏溫度值是:%.2lf,f); 編寫(xiě)程序,從鍵盤上輸入

11、兩個(gè)電阻值,求它們并聯(lián)電阻值和串聯(lián)電阻值,輸出結(jié)果保留兩位小數(shù)。運(yùn)行結(jié)果如圖所示: 注:并聯(lián)和串聯(lián)的電阻值計(jì)算公式如下。 r1*r2 (1)并聯(lián)電阻 rp = r1+r2 (2)串聯(lián)電阻 rs = r1+r2 提示: (1)scanf( )函數(shù)可以寫(xiě)成 scanf(%d,%d, r1, r2); (2)結(jié)果保留兩位小數(shù)的格式說(shuō)明符是“%.2lf”。 #include stdio.h void main() double r1,r2,rp,rs; printf(請(qǐng)輸入兩個(gè)電阻值:,r1,r2); scanf(%lf,%lf,r1,r2); rp=(r1*r2)/(r1+r2); rs=r1+r2

12、; printf(并聯(lián)電阻值:%.2lf n串聯(lián)電阻阻值:%.2lf,rp,rs); 字符的輸入和輸出 1、使用兩種指定的方法打印如圖所示圖形。 方法一:使用printf( )函數(shù)的“%c”格式打印圖形。 提示:一個(gè)“%c”只能打印一個(gè)字符。 方法二:使用printf( )函數(shù)的“%d”格式打印圖形。 方法一: #includestdio.h void main() printf(%4dn %4dn %dn,1,222,33333); 方法二: #includestdio.h void main() char a,b,c; a='1' b='2' c='

13、3' printf( %cn, a); printf( %c%c%cn, b,b,b); printf(%c%c%c%c%cn,c,c,c,c,c); 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 方法二的類似(運(yùn)用ascll碼) #includestdio.h void main() int a,b,c; a=49; b=50 c=51; printf( %c%c%cn, b,b,b); printf(%c%c%c%c%cn,c,c,c,c,c); 1、從鍵盤輸入3個(gè)數(shù)字字符,將它們分別轉(zhuǎn)換為對(duì)應(yīng)的整數(shù)值(即字符0轉(zhuǎn)換為整數(shù)0,字符1轉(zhuǎn)換為整數(shù)1,依次類

14、推),然后求3個(gè)整數(shù)的平均值。運(yùn)行結(jié)果如圖所示: 提示:本題的變量定義可參考如下: char a, b, c; /變量a,b,c保存輸入的3個(gè)數(shù)字字符 int x, y, z; /變量x,y,z保存轉(zhuǎn)換后的3個(gè)整數(shù) double aver; /變量aver保存求出的平均值 #includestdio.h #includemath.h void main(void) double a,b,c,d; printf(請(qǐng)輸入三個(gè)數(shù)字字符:); scanf(%lf,%lf,%lf,a,b,c); d=(a+b+c)/3; printf(平均值=%lfn,d); 從鍵盤輸入兩個(gè)兩位的正整數(shù),根據(jù)以下格式組

15、裝成一個(gè)四位的正整數(shù)。例如:輸入12和34,組裝成的四位數(shù)是1324。運(yùn)行效果如右圖所示: 提示: (1)首先利用“除號(hào)”和“求余號(hào)”分別把兩個(gè)兩位正整數(shù)的十位數(shù)、個(gè)位數(shù)分別開(kāi);再經(jīng)過(guò)數(shù)學(xué)運(yùn)算組裝成一個(gè)四位數(shù)。 (2)scanf( )函數(shù)可以寫(xiě)成 scanf(%d%d, a, b); #includestdio.h #includemath.h void main(void) int a,b,z; #include stdio.h void main(void) char a,b,c; int x,y,z; double aver; printf(請(qǐng)輸入三個(gè)數(shù)字字符:); scanf(%c,%

16、c,%c,a,b,c); x=a-48; y=b-48; z=c-48; aver=(x+y+z)/3.0; printf(平均值為:%2lf,aver) 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 printf(請(qǐng)輸入兩個(gè)兩位數(shù)的正數(shù):); scanf(%d %d,a,b); z=a/10*1000+b/10*100+a%10*10+b%10; printf(合成的四位正整數(shù)是:%dn,z); 數(shù)學(xué)函數(shù)的使用 1、輸入三角形的三條邊長(zhǎng),求三角形的面積。運(yùn)行結(jié)果如圖所示: 提示: (1)本題的變量定義可參考如下: int a, b, c; double x, s

17、; (2)scanf( )函數(shù)可以寫(xiě)成 scanf(%d,%d,%d, a, b, c); (3)計(jì)算三角形面積的公式是: 1 x (a b c)其中 s x(x a)(x b)(x c)2 (4)求x的開(kāi)方值的庫(kù)函數(shù)是 sqrt(x),使用時(shí)需包含頭文件 math.h #includestdio.h #includemath.h void main(void) int a,b,c; double x,s; printf(請(qǐng)輸入三角形的三邊:); scanf(%d %d %d,a,b,c); x=(a+b+c)/2; s=sqrt(x-a)*(x-b)*(x-c)*x); printf(s=%

18、lfn,s); 單分支if語(yǔ)句編程練習(xí) 從鍵盤任意輸入3個(gè)整數(shù),選出其中的最大數(shù)并打印。 提示: (1) 要推斷最大數(shù),需對(duì)每?jī)蓚€(gè)數(shù)作兩兩比較。 (2) 可以使用3個(gè)單分支if語(yǔ)句編寫(xiě)程序。 (3) 從鍵盤輸入2個(gè)整數(shù)到變量a、b中,編程總是把較小的數(shù)放入a中,較 大的數(shù)放入b中。 #include stdio.h void main() int a,b,c,t; 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 printf(請(qǐng)輸入三個(gè)整數(shù):); scanf(%d%d%d,a,b,c); if(ab) t=a; a=b; b=t; if(ac) t=a; a=c;

19、c=t; if(bc) t=b; b=c; c=t; printf(最大數(shù)是:%dn,a); #include stdio.h void main() int a,b,t; printf(請(qǐng)輸入兩個(gè)整數(shù)到變量a,b中); scanf(%d%d,a,b); printf(a=%d,b=%dn,a,b); if(ab) t=a; a=b; b=t; printf(運(yùn)行結(jié)果:a=%d,b=%dn,a,b); else printf(運(yùn)行結(jié)果:a=%d,b=%dn,a,b); 從鍵盤輸入三個(gè)正整數(shù),推斷否能構(gòu)成三角形的三邊?假如能,就根據(jù)以下提示的數(shù)學(xué)公式計(jì)算三角形的面積;假如不能,就輸出“不能構(gòu)成三

20、角形”的提示信息。提示: (1) 該題屬于“雙分支if-else語(yǔ)句”結(jié)構(gòu)。 (2) 能構(gòu)成三角形的規(guī)律條件是:任意的兩邊之和均要大于第三邊。 (3) 計(jì)算三角形面積的公式是: 1 x (a b c)其中 s x(x a)(x b)(x c) 2 (4)本題的變量定義可參考如下:int a, b, c; double x, s; (5)本題要用到求x開(kāi)方值的數(shù)學(xué)庫(kù)函數(shù)sqrt(x),需包含頭文件 math.h #includestdio.h #includemath.h void main(void) int a,b,c,m,n,t; double x,s; printf(請(qǐng)輸入三角形的三邊:

21、); scanf(%d %d %d,a,b,c); m=a+b; n=b+c; t=a+c; if(mcnatb) x=(a+b+c)/2; s=sqrt(x-a)*(x-b)*(x-c)*x); printf(構(gòu)成的三角形面積是:%.2lfn,s); else printf(不能構(gòu)成三角形n); 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 從鍵盤輸入一個(gè)合法的算術(shù)運(yùn)算符(+、-、*、/)及兩個(gè)實(shí)數(shù),使用if語(yǔ)句編寫(xiě)程序,依據(jù)輸入的運(yùn)算符推斷對(duì)這兩個(gè)實(shí)數(shù)進(jìn)行何種運(yùn)算,并打印運(yùn)算結(jié)果(要求結(jié)果保留兩位小數(shù))。程序運(yùn)行效果如下圖所示: 提示: (1)該題屬于“多分支

22、if語(yǔ)句”結(jié)構(gòu)。 (2)本題的變量定義可參考如下: char fu; /fu變量用來(lái)存放運(yùn)算符 double x, y, z; /x、y變量用來(lái)存放輸入的2個(gè)實(shí)數(shù),z存放運(yùn)算結(jié)果 (3)輸入字符型數(shù)據(jù)的格式說(shuō)明符是 %c,實(shí)型數(shù)據(jù)的格式說(shuō)明符是 %lf。 (4)輸出實(shí)數(shù)保留2位小數(shù)的格式說(shuō)明符是 %.2lf。 (5)本題可參考教材p61例3.7,但是不允許使用switch語(yǔ)句編寫(xiě)該題程序。 #includestdio.h void main() char fu; double x,y,z; int t,a; printf(請(qǐng)輸入一個(gè)算數(shù)運(yùn)算符和兩個(gè)浮點(diǎn)數(shù)); scanf(%c %lf %lf,

23、fu,x,y); t=47-fu; if(t=4) z=x+y; printf(%.2lf %c %.2lf = %.2lfn,x, fu ,y ,z); else if(t=5) z=x*y; printf(%.2lf %c %.2lf = %.2lfn,x, fu ,y ,z); else if(t=2) z=x-y; printf(%.2lf %c %.2lf = %.2lfn,x, fu ,y ,z); else if(t=0) z=x/y; printf(%.2lf %c %.2lf = %.2lfn,x, fu ,y ,z); else printf(運(yùn)算符非法,無(wú)法參加運(yùn)算n);

24、 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 從鍵盤輸入一個(gè)年份和一個(gè)月份,使用switch語(yǔ)句編程推斷并打印該月的天數(shù)。程序運(yùn)行效果如下所示: 提示: (1)本題先使用if語(yǔ)句推斷年份和月份是否有效。 (2)假如年份和月份有效,再嵌套switch語(yǔ)句推斷每個(gè)月份的天數(shù)。 (3)對(duì)于2月份的處理需要推斷閏年,閏年的推斷方法請(qǐng)參考教材p62例3.8。 #includestdio.h void main() int year,month,day; printf(請(qǐng)輸入一個(gè)年份和一個(gè)月份:); scanf(%d %d,year,month); if(month0mon

25、th=12) switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf(%d月有31天n,month); break; case 4: case 6: case 9: case 11: printf(%d月有30天n,month); break; default: if(year%4=0year%100!=0)|(year%400=0) printf(2月有29天n); else printf(2月有28天n); break; else printf(輸入的月份值無(wú)效!); 從鍵盤輸入1個(gè)整型的

26、分?jǐn)?shù),使用switch語(yǔ)句編程,推斷假如分?jǐn)?shù)介于0 59分之間就打印“不及格”;假如介于60 79分之間就打印“及格”;假如介于80 89之間就打印“良好”;假如介于90 100之間就打印“優(yōu)秀”。 #includestdio.h void main() int a,b; 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 printf(請(qǐng)輸入一個(gè)分?jǐn)?shù)介于0 100間:); scanf(%d,a); if(a0a=100) b=a/10; switch(b) case 6: case 7: printf(及格n); break; case 8: case 10: pri

27、ntf(優(yōu)秀n); break; default: printf(不及格n); break; else printf(輸入的分?jǐn)?shù)份值無(wú)效!n); printf(良好n); break; case 9: 使用while語(yǔ)句編程求100以內(nèi)能被5整除但不能同時(shí)被7整除的數(shù),并統(tǒng)計(jì)找到的數(shù)的個(gè)數(shù)。 提示: (1)該題變量可定義為:int i=1, n=0; / i 是循環(huán)變量, n是統(tǒng)計(jì)個(gè)數(shù)的變量 (2)整除問(wèn)題應(yīng)使用求余號(hào)“%”,而不能使用除號(hào)“/”。 #includestdio.h void main() int i,n,b,c; i=1; n=0; printf(100以內(nèi)能被5整除但不能同時(shí)

28、被7整除的數(shù)是:n); while(i=100) b=i%5; c=i%7; n,n); if(b=0c!=0) printf(%d ,i); n=n+1; i+; printf(符合條件的數(shù)有%d個(gè) 從鍵盤輸入一個(gè)正整數(shù),使用while語(yǔ)句編程求該整數(shù)是一個(gè)幾位數(shù)。程序運(yùn)行效果如下所示: 提示: (1)該題變量可定義為 int x, n=0, m; 其中,x保存輸入的正整數(shù),n統(tǒng)計(jì)位數(shù),m暫存x的值。 (2)每次循環(huán)將x的值縮小10倍,直到x縮小為0即結(jié)束循環(huán),循環(huán)次數(shù)就是整數(shù)的位數(shù)。 #includestdio.h void main() int x,n,m,i; 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)

29、習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 printf(請(qǐng)輸入一個(gè)正整數(shù):); scanf(%d,x); i=x; while(m!=0) m=x/10; n+; x=m; printf(%d 是一個(gè) %d 位數(shù)n,i,n); 使用while語(yǔ)句編程求以下表達(dá)式的值,程序運(yùn)行結(jié)果如圖所示: sum 1 111 . 1 21 2 31 2 . 10 提示: (1)該題變量可定義為:int i; double mu, t, sum; (2)本題的循環(huán)體里有3個(gè)通式:分母的通式、當(dāng)前項(xiàng)的通式、求和的通式、i自增的通式。 #includestdio.h void main() int i;

30、double mu,t,sum; mu=1; t=0; i=1; while(i=10) sum=1/mu+t; t=sum; i+; mu=mu+i; printf(表達(dá)式的值為:n); printf(sum= %fn,sum); for語(yǔ)句編程練習(xí) 1、使用for語(yǔ)句編程求以下表達(dá)式的值,假如從鍵盤輸入20賦值給變量n,則運(yùn)行效果如圖所示: 提示: (1)該題變量可定義為int i, n; double t, sum; (2)本題需用到求開(kāi)方值的數(shù)學(xué)函數(shù)sqrt( ),并包含頭文件 math.h s 1 (1 2) (1 2 3) (1 2 #includestdio.h #include

31、math.h void main() 3 n) 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 double t,sum,b=0; printf(請(qǐng)輸入整數(shù)值:); scanf(%d,n); sum=0; for(i=0;i=20;i+) t=sqrt(i,2); b=b+t; sum=sum+b; printf(sum=%lfn,sum); 使用for語(yǔ)句編程求以下表達(dá)式的值,程序運(yùn)行結(jié)果如圖所示: 111 sum 1 . 1 21 2 31 2 . 10 提示: (1)留意觀看可知相鄰兩項(xiàng)中,后一項(xiàng)的分母是前一項(xiàng)的分母加 i 值。 (2)該題變量可定義為:int

32、 i; double mu, t, sum; 其中i是循環(huán)變量,mu保存每一次循環(huán)的當(dāng)前項(xiàng)的分母,t保存每一次循環(huán)的當(dāng)前項(xiàng),sum保存n項(xiàng)式的總和。 #includestdio.h void main() int i; double t=0,sum=0,mu=0; for(i=1;i=10;i+) mu=mu+i; t=1/mu; sum=sum+t; printf(表達(dá)式值為:n); printf(sum = %lfn,sum); 循環(huán)的嵌套編程練習(xí) 使用for語(yǔ)句的嵌套結(jié)構(gòu)編程打印九-九乘法表,程序運(yùn)行效果如圖所示: #includestdio.h void main() int i,m,

33、n; for(i=1 ;i10;i+) 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 for(m=1;m=i;m+) n=i*m; printf(%d*%d=%d ,m,i,n); printf(n); 定義一個(gè)大小為10的整型一維數(shù)組,初始化全部數(shù)組元素,編程查找數(shù)組中的全部奇數(shù),并統(tǒng)計(jì)奇數(shù)的個(gè)數(shù)。運(yùn)行效果如圖所示: 提示: (1) 本題變量定義可參考如下 int a10=2,4,5,6,9,11,13,16,17,19, i, sum=0; (2) 首先用一個(gè)for循環(huán)打印10 (3) 再用一個(gè)for循環(huán)嵌套if (1)源程序粘貼在此處。 #includest

34、dio.h /#define n 10 void main() int a10=2,4,5,6,9,11,13,16,17,19, i,n=0; printf(數(shù)組中的初始值是:); for(i=0;i10;i+) printf(%d ,ai); printf(n); printf(n); printf(數(shù)組中的奇數(shù)是:); for(i=0;i=10;i+) if(ai%2!=0) printf(%d ,ai); n+; printf(n); printf(n); printf(奇數(shù)個(gè)數(shù)是:%dn,n); 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 定義一個(gè)大小

35、為10的整型一維數(shù)組,初始化其中的9個(gè)元素,這9個(gè)元素已經(jīng)根據(jù)降序排列。從鍵盤再輸入1個(gè)整數(shù),將該整數(shù)插入到已有的元素中,需保證這10個(gè)數(shù)仍舊根據(jù)降序排序。程序運(yùn)行效果如下圖所示: 提示: (1)本題變量定義可參考如下 int a10= 20, 18, 15, 12, 10, 9, 7, 5, 2, i, j, t; (2)本題使用冒泡法排序,先將鍵盤輸入的1個(gè)整數(shù)放到數(shù)組元素a9中,然后使用排序算法對(duì)這10個(gè)數(shù)進(jìn)行降序排序。 #includestdio.h /#define n 10 void main() int a9= 20, 18, 15, 12, 10, 9, 7, 5, 2; in

36、t i,j,t; printf(數(shù)組中前面9個(gè)元素是:n); for(i=0;i9;i+) printf(%d ,ai); printf(n); printf(n); printf(請(qǐng)輸入一個(gè)整數(shù):); scanf(%d,a9); printf(n); printf(數(shù)組中的10個(gè)元素是:n); for(i=0;i10;i+) printf(%d ,ai); printf(n); printf(n); for(i=0;i10;i+) for(j=0;j9-i;j+) if(ajaj+1) t=aj; aj=aj+1; aj+1=t; printf(降序排序后的整數(shù)為:); for(i=0;i1

37、0;i+) printf(%d ,ai); printf(n); 利用指針編程,其功能是求電阻的并聯(lián)值和串聯(lián)值。程序運(yùn)行效果如圖所示: 要求:輸入電阻值;計(jì)算并聯(lián)串聯(lián)值;打印結(jié)果都必需使用指針完成。 提示: (1)該題的變量可定義為 int r1, r2, *p1, *p2; double rp, rs, *pp, *ps; 其中指針p1、p2用來(lái)指向并操作變量r1、r2;指針pp、ps用來(lái)指向并操作變量rp、rs。 (2)在利用指針編程之前,應(yīng)將指針指向?qū)?yīng)的變量。 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 #includestdio.h void main

38、() int r1, r2, *p1, *p2; double rp, rs, *pp, *ps; printf(請(qǐng)輸入兩個(gè)電阻值); scanf(%d %d,r1,r2); p1=r1; p2=r2; rp=(double)(*p1 * *p2) / (double)(*p1 + *p2); rs=*p1+*p2; pp=rp; ps=rs; printf(并聯(lián)電阻組織 = %lfn,*pp); printf(串聯(lián)電阻組織 = %lfn,*ps); 利用指針編程,其功能是利用“除號(hào)”和“求余號(hào)”將輸入的兩個(gè)兩位的正整數(shù)組合成一個(gè)新的四位的正整數(shù)。 要求:輸入整數(shù)值;計(jì)算;打印結(jié)果都必需使用指

39、針完成。 提示:該題的變量可定義為 int a, b, c, *pa, *pb, *pc; 其中指針pa、pb、pc分別用來(lái)指向并操作變量a、b、c。變量a、b用來(lái)存放輸入的兩個(gè)兩位正整數(shù),變量c用來(lái)存放組合后的四位的正整數(shù)。 方法一 #includestdio.h void main() int a,b,c,*pa,*pb,*pc; printf(請(qǐng)輸入兩個(gè)兩位數(shù)的正整數(shù):); scanf(%d %d,a,b); pa=a; pb=b; c=*pa/10*1000+*pb/10*100+*pa%10*10+*pb%10; pc=c; printf(組合成的四位正整數(shù)是:%dn,*pc); 方

40、法二 #includestdio.h void main() int a,b,c,*pa,*pb,*pc; printf(請(qǐng)輸入兩個(gè)兩位數(shù)的正整數(shù):); pa=a; pb=b; scanf(%d %d,pa,pb); c=*pa/10*1000+*pb/10*100+*pa%10*10+*pb%10; pc=c; printf(%dn,*pc); / int前不能空行,不然無(wú)法識(shí)別。 在c語(yǔ)言程序設(shè)計(jì)基礎(chǔ)的學(xué)習(xí)過(guò)程中會(huì)涉及到的編程問(wèn)題以及類似問(wèn)題的解決代碼。 定義一個(gè)大小為10的整型一維數(shù)組并初始化數(shù)組元素,再定義一個(gè)指針變量讓其指向該數(shù)組,利用指針編程查找數(shù)組中的全部奇數(shù)。運(yùn)行效果如圖所示:

41、 提示: (1) 該題變量可定義為 int a10=2,4,5,6,9,11,13,16,17,19, *p, i; (2)在使用指針編程之前,應(yīng)先將指針p指向數(shù)組。 要求:使用“下標(biāo)法”編程,即使用“pi”的形式引用數(shù)組元素。 方法一#includestdio.h void main() int a10=2,4,5,6,9,11,13,16,17,19,*p,i,n=0; p=ai;(p=a;) printf(數(shù)組中的初始值是:); for(p=a,i=0;i10;i+) (for(i=0;i10;i+) printf(%d ,pi); printf(n); printf(n); print

42、f(數(shù)組中的奇數(shù)是:); for(p=a,i=0;i=9;i+) (for(i=0;i=9;i+) if(pi%2!=0) printf(%d ,pi); n+; printf(n); printf(n); printf(奇數(shù)個(gè)數(shù)是:%dn,n); 方法二 #includestdio.h void main() int a10=2,4,5,6,9,11,13,16,17,19,*p,i,n=0; p=a; printf(數(shù)組中的初始值是:); for(i=0;i10;i+) printf(%d ,pi); printf(n); printf(n); printf(數(shù)組中的奇數(shù)是:); for(i=0;i=9;i+) if(pi%2!=0) printf(%d ,pi); n+; printf(n); printf(n); printf(奇數(shù)個(gè)數(shù)是:%dn,n); 輸入三角形的三條邊長(zhǎng),定義一個(gè)子函數(shù)fun( )求三角形的面積。運(yùn)行結(jié)果如圖所示: 要求: (1)數(shù)據(jù)輸入和結(jié)果

溫馨提示

  • 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)論