C語言課后答案_第1頁
C語言課后答案_第2頁
C語言課后答案_第3頁
C語言課后答案_第4頁
C語言課后答案_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、蘇小紅等編著,電子工業(yè)岀版社 感謝龍三少同學(xué)的支持.第一章:1.1硬件:光盤驅(qū)動器,硬盤驅(qū)動器,網(wǎng)絡(luò)卡,聲音卡,CPU,主板,內(nèi)存,游戲桿,鍵盤,鼠標(biāo).軟件:QQ,迅雷,千千靜聽,暴風(fēng)影音,超星閱讀器,X-scan.1.2五個部分:控制器,運算器,存儲器,輸入設(shè)備,輸岀設(shè)備1.3/*功能:本程序修改課本上例 1.4,計算123+456作者:漏網(wǎng)之魚創(chuàng)建日期:20070729版本:無修改:無*/#includemain()printf(%dn,123+456);/*只修改這兒即可 */1.4BASIC,C,C+,C#,Java,VB;PHP,JavaScript,VBScript,ASP,PYT

2、HON,Ruby On Rails.1.5學(xué)習(xí):在上搜索資料.生活:在QQ上泡MM.第二章:2.1第五個和第六個是合法的.2.2CBABDDDCB2.3(1) .sqr(a*a+b*b)/(2*c)(2) .fabs(a+b)*(c+d)+2).(log(x)+sin(y)/2(4) .2*PI*r/* 其中 PI 是宏常量,即 #define PI 3.141592653*/(5) .1/(1+1/x)(6) .(sin(3.141592653/6)+2*exp(x)/(2*y+pow(y,x)第早:3.1:C語言語句分為四個類型:控制語句;表達(dá)語句;復(fù)合語句;空語句.3.

3、2:CD/*本小題答案感謝觀海聽濤的東東同學(xué)的提醒*/3.3:(1) 地址前沒有&scanf(%d,%d, &a,&b);(2) 類型不匹配printf(%f,f);(3) 類型不匹配scanf(%lf%d,&var,&a);(4) 地址前沒有& scanf(%d,%dn, &a,&b);(5) scanf不能限制精度scanf(%5f, &f);(6) scanf 中不能有=scanf(%d,%d, &a,&b);3.4:(1) aabbccabc(2) 01 1(3) 68(4) 3.500000(5) 129139(6) 1291393.5:/*功能:本程序從鍵盤接收三個參數(shù),分別為三角

4、形的三條邊輸出三角形的面積作者:漏網(wǎng)之魚日期:20070731修改:版本:無*/#include#includeint main()float a,b,c,s,area;printf(input a,b and c:n);reput:/*提示輸入三條邊長度*/scanf(%f%f%f, &a,&b, &c);if (a+bc&a-bc)printf(error! reput please:n);/*如果不能組成三角形,則重新輸入*/goto reput;s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);/* 根據(jù)公式計算面積 */printf(the

5、area is %fn,area);return (0);第四章:4.1:(1) 見課本69頁.(2) 見課本138頁.(3) 見課本138頁139頁.4.2:(1) D(2)B(3)D(4)D/*第二小題改正感謝觀海聽濤的東東同學(xué)的提醒 ,同學(xué)們做題要用眼鏡,否則容易做錯題,當(dāng)然,這是我為自己找的一個借口 */4.3:(1)over!(2) right/*岀題者希望答案是這個,不過,課本上這個程序不可能通過編譯,因為沒有包含頭文件 conio.h.即課本上的程序中并沒有#include居然用了 getchar,用個毛!(冰雪封情語)*/(3) 答案同上,問題同上.(4) 這個我不說你也猜得到

6、吧.(5) abcdefg$abcdefgabcdefg/*老實說,我對他們把 conio.h 這個頭文件忘了非常氣憤,建議讀者看一下 K&R C.*/(6) *(7) *#*#*#$4.4:(1) (year%4=0&year%100!=0)|(year%400=0)flag(2) (ch=65&chv=90)|(ch=95&ch48&ch58ch=32(3) fahrcelsius=5.0/9.0*(fahr-32)fahr+=step/*我又不得不多說幾句了,這個程序很經(jīng)典,我相信大伙以后還會看到的.只是課本上第十二行少了一個,它是這么寫的 pirntf(4.0ft%6.1fn,fahr

7、,celsius);上面一個還漏了 ,你用 getchar,用個毛!*/4.5:/*功能:該程序判斷輸入的數(shù)字的奇偶性以及正負(fù)作者:漏網(wǎng)之魚日期:20070804修改:版本:無*/#include#includeint main(void)int s;printf(please input the numberin);scanf(%d, &s);if (s0)printf(its a positive numbern );else if (s=0)printf(its zero!n);elseprintf(itsa negetive numbern);/*判斷這個數(shù)字是不是大于零*/*為零*/

8、*負(fù)數(shù)*/if(int)fabs(s)%2)*/*用這個數(shù)的絕對值取模,如為1,則為奇數(shù),否則為偶數(shù)printf(itsa odd numbern);elseprintf(itsa even numbern);getch();return (0);4.6:/*功能:一個分段函數(shù),根據(jù)X的值輸岀Y.作者:漏網(wǎng)之魚日期:20070805修改:版本:無*/#include#includeint main(void)int x;float y;printf(enter x please!n);scanf(%d, &x);if(x)/*非零的X*/if (x0)y=exp(-x);printf(y is

9、 %fn,y);else,還是加個括號比較保險*/y=-(exp(x);/*老實說,優(yōu)先級我也搞不懂printf(y is %fn,y);elsey=i;printf(y is %fn,y);return(0);4.7:/*功能:判斷輸入的三條邊能否組成三角形,并判斷三角形的類型作者:漏網(wǎng)之魚版本:修改:無*/日期:20070805#includeint main(void)int a,b,c;printf(enter a,b,c please:n);scanf(%d%d%d,&a,&b, &c);if(a-bc)if(a=b|b=c|c=a)printf(its aisoceles tria

10、nglen);else if (a*a+b*b=c*c|a*a+c*c=b*b|c*c+b*b=a*a)printf(its a right-angled trianglen);elseprintf(its a normal trianglen);elseprintf(they cannt make up of atrianglen);return(O);4.8:/*功能:根據(jù)輸入顯示一句話作者:漏網(wǎng)之魚int main(void)int c;printf(*Time*n1 morningn2 afternoonn3 nightnplease enter);printf(your choice

11、:n);/*這兩句比較變態(tài),建議不用*/scanf(%d, &c);switch (c)case 1:printf(Good morningn);break;case 2:printf(Good afternoonn);break;case 3:printf(Good nightn);break;default :printf(Selection error!n);break;return(O);4.9:/*功能:得到一個年份和一個月份,輸岀這個月有多少天作者:漏網(wǎng)之魚日期:20070805修改:版本:無*/#includeint main(void)int year,month,flag;p

12、rintf(enter the year and monthn); scanf(%d%d,& year,&month);if(year%4=0&year%100!=0)|(year%400=0)flag=1;elseflag=0;printf(the month of the year have );switch (month)case 1:printf(31);break;case 2:printf(%d,flag+28); break;case 3:printf(31);break;case 4:printf(30);break;case 5:printf(31);循環(huán)*/break;/*

13、這兒這么多,顯然是麻煩了,你可以試試用幾個forprintf(30);break;case 6:case 7:printf(31);break;case 8:printf(31);break;case 9:printf(30);break;case 10:printf(31);break;case 11:printf(30);break;case 12:printf(31);break;printf( daysn);return(O);4.10:/*功能:計算從1加到101,其中每次加二作者:漏網(wǎng)之魚日期:20070805版本:修改:無*/#includeint main(void)int i

14、=101,sum=0;while(i+1)sum+=i;/*這個題蠻有意思*/i-=2;printf(the sum is %d,sum);return(0);4.11:/*功能:計算從1到99的和,其中第一項是該數(shù)字和它后面兩個數(shù)字的乘積 作者:漏網(wǎng)之魚日期:20070805修改:版本:無*/#includeint main(void)int i=99,sum=0;sum+=i*(i+1)*(i+2);/*和上一題一樣,沒有什么可說的*/while(i+1)i-=2;printf(the sum is %d,sum);return(O);4.12:/*功能:計算從1到10的階乘的和作者:漏網(wǎng)

15、之魚日期:20070805修改:版本:無*/#include#includeint fac(int x);/*不好意思,這兒用了個函數(shù)(chapter5)*/int main(void)int i=4,sum=0;while(i)sum+=fac(i);i-;printf(the sum is %d,sum);return(0);int fac(int i) int fac=1;while(i)fac*=i;/*函數(shù)功能:計算輸入?yún)?shù)的階乘*/i-;return (fac);4.13:/*功能:不好說,假設(shè)N=2,A=3,它就會計算33+3,N=4,A=3,它會算3333+333+33+3作者

16、:漏網(wǎng)之魚日期:20070805修改:版本:無*/#include#includeint main(void)int a,n,sum=0,i=0;printf(enter a and n please:n);scanf(%d%d,&a,&n);sum+=a*n*pow(10,i);/* 這句有些亂*/while(n)n-=1;printf(the sum is %d,sum);i+=1;return(O);4.14:/*功能:計算PI的值作者:漏網(wǎng)之魚日期:20070805版本:修改:無*/#includeint main(void)50組,規(guī)律就出來了 */float n=50, pi,su

17、m=1; /*可以將這一百個數(shù)分為while(n)sum*=(2*n)*(2*n)/(2*n-1)*(2*n+1);n-=1;pi=sum+sum;printf(pi is %f,pi);return(0);4.15:/*功能:計算共加了多少項才可以讓最后一項小于0.00001作者:漏網(wǎng)之魚日期:20070805版本:修改:無*/#include#include#definemix 0.00001int fac(int x);int main(void)int n=1;while(float)1/fac(n)mix)n=n+=1;當(dāng)它小于0.00001時,WHILE結(jié)束*/*此時應(yīng)多加1,第一

18、項為1,故printf(we add it %d timesn,n+2);/* return(0);加2*/int fac(int i) int fac=1;while(i)fac*=i;return (fac);4.16:0.0001/*功能:相加直到加數(shù)的絕對值小于 作者:漏網(wǎng)之魚日期:20070806修改:版本:無*/#include#include#define mix 0.0001int main(void)int sign=1,n=1;float sum=0,term=1;while(fabs(term)mix)n+;sign=-sign;sum+=term; term=(floa

19、t)sign/n;printf(the sum is %f,sum);return(0);4.17:/*功能:相加直到加數(shù)的絕對值小于0.00001作者:漏網(wǎng)之魚日期:20070806修改:版本:無*/#include#include#define mix 0.00001int main(void)float x,term,sum=0;int n=1;printf(enter x please:n);scanf(%f, &x);term=x;printf(term is %fn,term);while(fabs(term)mix)sum+=term;term=-term*x*x/(n+1)*(

20、n+2); n+=2; printf(the sum is %f,sum);return(O);4.18:/*功能:打印所有水仙花數(shù)作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint main(void)int high,mid,low,n;for(n=100;n1000;n+)low=n%10;mid=(n/10)%10;/*除以10并以10取模,得十位數(shù)*/high=n/100;/*整數(shù)除,得百位數(shù)*/if(n=low*low*low+high*high*high+mid*mid*mid)printf(the flower number is %dn,n);ret

21、urn(0);4.19:/*功能:計算一個數(shù)字的各位之和作者:漏網(wǎng)之魚日期:20070807 修改:版本:無*/#include#includeint main(void)int num,sum;printf(enter the number please:n);scanf(%d,&num);num=fabs(num);/* 這兒破壞了原始數(shù)據(jù)*/sum=num%10+(num/10)%10+(num/100)%10+num/1000;printf(the sum is %d,sum);return(0);4.20:/*功能:找出符合的最小數(shù)作者:漏網(wǎng)之魚日期:20070807版本:修改:無*

22、/#includeint main(void)int x;for(x=1;x+)if(x%5=1 & x%6=5& x%7=4& x%11=10)break;printf(the number is %d,x);return(0);4.21:/*功能:計算符合題目的臺階數(shù)作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint main(void)int x;for(x=1;x10000;x+)/*也許你已經(jīng)猜出來了 ,這個題目并不只有一個答案,我的*/*意見,可以看一下世界最高樓,然后計算一下該樓的臺階*/if(x%2=1 &x%3=2&x%5=4&x%6=5&x%7=0

23、數(shù)*,然后說,故臺階可能 */printf(the number is %dn,x);/*是 X,Y 或 Z個當(dāng)然,注明是在一定時間 */*內(nèi)成立的,過了就又有更高的樓了 */return(0);/*功能:計算符合題目的數(shù)目作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint main(void)int whi,red,bla;for(whi=0;whi4;whi+)for(red=0;red4;red+)for(bla=0;bla5;bla+)if(whi+red+bla=8)沒什么,就是*/一行寫不下了 */printf(the white is %d,the re

24、d is,whi);/* printf(” %d,the black is %dn,red,bla);/* return(0);4.23:/*功能:算岀符合題目的雞和兔的數(shù)目作者:漏網(wǎng)之魚 日期:20070807修改:版本:無*/#includeint main(void)int chi,rab;for(chi=0;chi98;chi+)rab=98-chi;if(chi+chi+rab+rab+rab+rab=386)/*你要知道,計算機(jī)算加法快一些.*/printf(%d chickens and %d rabbits has 386 legsn,chi,rab);return(0);4.

25、24:/*功能:計算 算經(jīng)中的數(shù)學(xué)問題作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint main(void)int male,fema,chick;for(fema=0;fema33;fema+)for(male=0;male20;male+)chick=100-male-fema;if(male*5+fema*3+chick/3=100)/*加法快一些,但太長了 .*/printf(it can buy %d males,male);printf(%d famales,%d chicksn,fema,chick);return(0);4.25:/*功能:計算1.5

26、元可以兌換的分幣作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint main(void)int nfive,ntwo,none;for(nfive=1;nfive29;nfive+)for(ntwo=1;ntwo74;ntwo+)none=100-nfive-ntwo;if(nfive*5+ntwo*2+none=150)printf(%d five cents,%d ,nfive,ntwo); printf(two cents,%d one centsn,none);return(O);4.26:/*功能:打印九九乘數(shù)表作者:漏網(wǎng)之魚日期:20070807修改:版本

27、:無*/#includeint main(void)int i,j;for(i=1;i10;i+)printf(%dt,i);printf(n);/* 這句不在 for 中 */for(i=1;i10;i+)printf(-t);printf(n);/* 這句也是 */for(i=1;i10;i+)for(j=1;j10;j+)if(jvi)printf( t);elseprintf(%dt,i*j);printf(n);/*這句并不在內(nèi)部的 for中*/getch();4.27:(1):/*功能:打印一個圖案作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint mai

28、n(void)int i,j;for(i=0;i4;i+)for(j=i;j3;j+)printf( );/* 先打空格 */for(j=1;j7;j+)/*再打星號*/printf(n);return(O);:/*功能:打印一個圖案作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint main(void)int i,j;for(i=1;i9;i+=2)for(j=1;jv=i;j+) printf(*);printf(n);return(0);(3):/*功能:打印一個圖案作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint main(void

29、)int i,j;for(i=0;i=3;i+)/*星號個數(shù)從0到3*/for(j=0;ji+4;j+)/*每行打印的數(shù)目遞增,比i多4*/if (j3-i)/*先多后少*/elseprin tf(n);return(0);printf(” );printf(*);4.28:/*功能:打印九九乘根表作者:漏網(wǎng)之魚 日期:20070807修改:版本:無*/#include#includeint main(void)int i,j;printf(”);/*這兒是四個空格*/for(i=0;i=9;i+)printf(%d,i);printf();/*而這兒是七個*/*解釋一下,本來我不想用這么多變

30、態(tài)的空格 */prin tf(n);/*然而,我如何用t也整不出書上的效果*/for(i=0;i10;i+)/* 本程序環(huán)境為 windows xp sp2+win-tc1.9.00*/printf(%d ,i);for(j=0;j=i)/*是,則返回1,否則為0*/break;/*即查看一下,該數(shù)不為1時,可整除的數(shù)是否只*/*有它本身,如是,則是素數(shù)*/if (n!=i)isprime=0;return(isprime);5.5:/*功能:本程序計算幾個數(shù)的階乘,其中階乘的各數(shù)須大于0作者:漏網(wǎng)之魚日期:20070807修改:版本:無*/#includeint fac(int i)int

31、num=1;if(i!=1)num=i*fac(i_1);return(num);int main(void)float p;int k,m;printf(enter k and m please(positive&m k):n);scanf(%d%d,&k,&m);if(k1|m1|(m-k)b)factor=maxcommonfactor(a-b,b); elsefactor=maxcommonfactor(b-a,a);return(factor);5.7:/*功能:重復(fù)參數(shù)的調(diào)用,從大到小依次輸岀參數(shù)的公約數(shù),如果為1,則輸岀-1.作者:漏網(wǎng)之魚 日期:20070810修改:版本:無*

32、/int commonfactors(int a,int b)int cfac;static i=0;/*每次用不同的i*/doi+;while(a%i|b%i);a=a/i;b=b/i;cfac=maxcomfac(a,b);/*如果不是1,每次都比上次小*/if(cfac=1)cfac=-1;i=0;/*i在下次用時仍是0*/return(cfac);int maxcomfac(int a,int b)int fac=a;if(a!=b)/*求出參數(shù)的最大公約數(shù)*/if(ab)fac=maxcomfac(b,a-b);elsefac=maxcomfac(a,b-a);return(fac)

33、;5.8:老實說,我沒有看懂這個題,大約和上題相同吧 第六章:6.1:CBBBDADAB6.2:(1) :1000001000001000001000001(2) :10(3) :01236.3: rand()%6+1(1):frequencyface:anmaxnanminn:!=0!=:s!=0sj=s(5) :0s-t(6) :*6.4:/*功能:計算鍵盤輸入的二十個數(shù)中的非負(fù)數(shù)的和作者:漏網(wǎng)之魚日期:20070810版本:修改:無*/#include#define maxcount 20int main(void)int count=0,sum=0,number,i;for(i=0;i

34、=0)conut+;sum+=number;printf(count is %d,sum is %d,count,sum);return(O);6.5:/*功能:接收十個數(shù),交換其中最大數(shù)和最小數(shù)后輸岀 作者:漏網(wǎng)之魚日期:20070810修改:版本:無*/#include#define count 10int main(void)int numcount,i,max,min,maxpos,minpos;min=max=numO;minpos=maxpos=0;printf(enter numbers please:n);for(i=0;icount;i+)scanf(%d,&num);for

35、(i=0;imax)maxpos=i;if (numvmin)minpos=i;nummaxpos=nummaxpos+numminpos; numminpos=nummaxpos-numminpos; nummaxpos=nummaxpos-numminpos;printf(the array isn);for(i=0;icount;i+)/*接收十個數(shù)字*/*找到最大數(shù)和最小數(shù)*/*交換最大數(shù)和最小數(shù)*/printf(%dn,num);/*輸岀*/return(O);6.6:/*功能:計算矩陣的特定行列的和與積作者:漏網(wǎng)之魚日期:20070810版本:修改:無*/#include#defi

36、neline 5#definerow5int main(void)int numrowline,i,j,result=0,product=1;printf(enter the matrix please:);for(i=0;irow;i+)for(j=0;jline;j+)scanf(%d,numj);for(i=0;irow;i+)for(j=0;jline;j+)if(i=j)|(i+j=4)result+=numj;if(i=j)|(i+j=4)&(i%2=0)&(j%2=0)product*=numj;printf(the result is %d,the product is %d,

37、result,product); return(O);6.7:/*功能:打印楊輝三角作者:漏網(wǎng)之魚日期:20070810版本:修改:無*/#includeint main(void)int i,j,number,yanghui66=0;for(i=0;i6;i+)yanghui0=1;yanghui=1;for(i=0;i6;i+)printf(%dt,yanghui0);for(j=1;j=i;j+)yanghuij=yanghuii_1j_1+yanghuii_1|j;printf(%dt,yanghuij);printf(n);return(O);6.8:/*功能:把一個數(shù)組的各列向后移一位,最后一位移到第一位 作者:漏網(wǎng)之魚日期:20070810版本:無修改:對數(shù)組下標(biāo)的修改 ( 當(dāng)日)數(shù)組a53表示五行三列的數(shù)組*/#includeint main(void)int orig23=1,4,6,8,10,12,fina23=0,i,j;for(i=0;i2;i+)for(j=0;j3;j+)fina(j+1)%3=origj;for(i=0;i2;i+)for(j=0;j3;j+)printf(%dt,finaj);printf(n);return(0);6.9:/*功能:計算兩個矩陣之和作

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論