版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C程序設(shè)計(第四版)(譚浩強)第一章課后習題答案三冬冬包屋遵逾魚去拓二include預編譯.代碼均調(diào)試成功,若有失誤大多不是代碼問題.自已找找.intmain()printf(Wn,/);return0;/與intmairi對應,為了程序可移植性,建議全用intmain+return0;.盤區(qū)上農(nóng)餾企邕購企二ttincludeintmain()inta,b,sum;a=5;b=4;suma+b;printf(Thesumis%d.rT,sum);return0;#includeintmain()intmax(intx,inty);/被調(diào)用函數(shù)在主函數(shù)后面,用前先聲明.inta,b,c;scan
2、f(%d,%d:&a,&b);/輸入?yún)家锤袷絹?,此處的逗號,用空格會發(fā)生錯誤.c=max(a,b);/a,b作為實參傳入被調(diào)用函數(shù)中.printf(z,Themaxis%drT,c);return0;intmax(intx,inty)/定義了兩個形參.intz;z屬于局部變量,可與主函數(shù)中相同名字.if(xy)z=x;elsez=y;return(z);/z作為整個程序的出口值,賦給主函數(shù)中的c.PO150.6三個敘的丈小,(敘gO素斥裸后修習麵丿#includeintmainOinta,b,c,d;d是用于存儲最大值的.intmax(intx,inty,intz);/測試可知,在VS200
3、8中,可以不預先聲明.printf(Pleaseinput3numbers:rT);scanf(%d%d%d,&a,&b,&c);d=max(a,b,c);調(diào)用函數(shù)中有三個形參,這里需要傳入三個實參,才可運算.printf(z,Themaxis:%d.rT,d);/d可以換成max(a,b,c).intmax(intx,inty,intz)intm;if(xy&xz)求三者之大的一種方法.m=x;if(yx&yz)m=y;if(zy&zx)return(m);/返凹值m給主函數(shù)中的d.C程序設(shè)計(第四版)(譚浩強)第2章課后習題答案算法程序的靈魂W7送丄_生莫衛(wèi)士乞色垂購遂二#includei
4、ntmainOinti,s=l;/在執(zhí)行數(shù)值操作前定要先有個初值.for(i=l;i6;i卄)/這電是到6.s=s*i;/相乘printf(Thesumis%d.rT,s);return0;#include/作出要求:換成1到11間奇數(shù)相乘.intmainOinti,s=l;在執(zhí)行數(shù)值操作前定要先有個初值.for(i=l;i12;i+)這里是到,但題目要求的是取單數(shù)也可以是i二i+2if(i%2!=0)i對取模,值為非為奇數(shù);為則為偶數(shù).s二s*i;elsecontinue;跳過這個for循環(huán)的這一次,執(zhí)行下次.printf(Thesumis%d.rT,s);return0;暫時沒法做.PO1
5、92.3判畝20002500先勺的岡耳,弄輸出,年的概念是地球囤繞太陽一周的時間(所謂公轉(zhuǎn)周期)稱為一年,這個周期是相當穩(wěn)定的,很長時間也不會變動1秒,但是真正的一年是365.2423天(目前)。所以,如果每年定義為365天的話,1年就會多出0.2423天,4年就會多出0.9692天,非常接近1兀這樣國年就出現(xiàn)了,也就是每4年要有1年設(shè)置為366天,來抵消這多岀的1天。規(guī)則為:4)如果年份能被4報除,則該年計為閏年;可是,假如不做調(diào)軟的話,當400年的時候,累計才多出9&92夭,接近于多出97天,閏年的設(shè)置卻多出來100夭,所以要在400年內(nèi),再撤銷3個閏年。怎么撤銷呢?就有了下面這個規(guī)則:2
6、)如果年份能被100桀除,則不計為閏年;問題又來了,400年里有4個100年吧,去掉后四個100年后,又少了一個,所以再加一個規(guī)則就是:3)如果年份能被400整除,則計為閏年。簡單說來每400年里設(shè)置了97個閏年,也就是400里的前3個100年不設(shè)置閏年,誤差被調(diào)熬到400年僅有0.08夭。#includeintmainOinti;for(i=2000;i=2200;i+)if(i%4=0&i%100!=0)|i%400=0)閏年的經(jīng)典判斷條件.printf(%disaleapyear!rT,i);elseprintf(%disnotaleapyear!n,i);三徑2.工:纟屯二理邏上二二纟
7、纟匕空0輕值:includeintmainOfloatsign=l,sum=0,deno,term;/關(guān)于有小數(shù)的計算應該用float.for(deno=l;denointmainOinti,num,n;/像13,37,這樣只能讓和它本身除以外,沒有其它除數(shù)的叫素數(shù).printf(Pleaseinputanumber:rT);/獲取一個數(shù)值scanf(%d,&num);for(i=2;inum;i卄)在到此數(shù)值間進行循環(huán)除,如果除得盡,就不滿足素數(shù)要求.遷(num%i=0)/除得盡,則不是.n=l;break;設(shè)置跳出,才不會執(zhí)行多次.n=0;/按程序走的話,這里會執(zhí)行多次,不能用printf
8、語句,會輸出多次.if(n=0)單出口問題,雖然n=0執(zhí)行多次,但仍然是n二0,這樣才會只輸出次.printf(Itisdoaprimenumber!);/如果是100-200可以加個%d”,nmu進去.elseprintf(Itisnotaprimenumber!);return0;邑並裹垂週2話團恚應送邑區(qū)陸.:還要偽代碼三徑0上廻鱉三企塞參敷邕:#includeintmain()chara=,,b=,bc;c=a;a=b;b=c;printf(z,anowis%c,bnowis%c!n/z,a,b):return0;P036上_檢公呂企盤二査逾魚譽圭蟲那二止遂二#includeintma
9、inOinti,a10,s=0;printf(Pleaseinput10numbers:rT);for(i=0;i=9;i+)scanf(%d,&ai);for(i=0;i=9;i+)if(saij)s=ai;printf(,z%disthebiggestnumber!n,s);return0;g滋2乞_懸圭土咽逐筮魚二璧埶,#includeintmainOinti,j,a4,s=0;printf(Pleaseinput5numbers:rT);此處要回乍.for(i=0;i=4;i卄)scanfC%d&ai);這是取多個數(shù)的代碼,可以用while控制取到n符為止.for(i=0;i=3;i+
10、)雙重循環(huán),先-個外循,再輪所有小循,輪完后再下-個大循.for(j=i+l;jaj)如果成立,則對換,小于號表示降序排列,大于號表示升序排列.s=ai;ai=aj;aj二s;for(i=0;i=4;i卄)/重新定義循環(huán)輸出數(shù)組中新排列的數(shù).printfai);return0;目空92:纟愛圭必撿蠱令I(lǐng):.#includeintmainOinti,sum=0;這是個簡單的程序.for(i=0;i101;i+)sum二sum+i;printf(z,Thesumofonetoonehundredis%d!n,z,sum);return0;P036上總型亀二仝魚他盍迥曲盤極埜臉:ttincludei
11、ntmainOintn;printf(,zPleaseinputanumber:rT);scanf(%d,&n);if(n%3=0&n%5=0)關(guān)鍵句,用并的符號.printf(Canbedevideby3and5!n);elseprintf(Z/Cannotbedevideby3and5!rT);return0;P0360.6輸出力0啟間的素敘,/*第科1方法.#include/網(wǎng)絡(luò)版本,采用調(diào)用函數(shù)和求根取素.#include下面用到sqrt,所以需要包含數(shù)據(jù)函數(shù).sqrt是求根,屬數(shù)學函數(shù).intmainO學會個程序采用”主函數(shù)+被調(diào)用函數(shù)”的方式,會比較規(guī)范.inti;for(i二10
12、0;i二200;i+)/為了書寫規(guī)范,最好加上,以示清范圍.if(prime_number(i)=1)/i是實參.printf(z,%d,i);return0;intprime_number(doublem)/m是形參.intj,k;k=(int)sqrt(m);/求根,(int)是強制轉(zhuǎn)換,求根里要是浮點型.for(j=2;j=k;j+)辻(m%j=0)return0;此值返回給主函數(shù)中的實參.return1;includeincludeintmainOinti;for(i=100;i=200;i+)指定至間.if(prime(i)=l)這里i為實參,傳入形參j中進行運算,然后再由形參j帶出
13、返回.printf(%distheprimenumber!rT,i);return0;intprime(intj)/j是形參,用于接收實參i給的值.intm,n;m=(int)sqrt(j);for(n=2;n=m;n+)辻(j%n=0)return0;返回值,0為不是素數(shù),1是素數(shù).return1;請仿照2.5來寫.紀徑2乙至主簽魚蠱企意士簽魚熱.include/最大公約數(shù)用累除法,除到無余數(shù)時的被除數(shù)是最大公約數(shù).main()intm,n,c,d;intgcdO;這是最大公約數(shù)的縮寫,此處調(diào)用函數(shù),可以不寫里而的實參.intlcm();這是最小公倍數(shù)的縮寫,此處調(diào)用函數(shù),可以不寫里而的實參
14、.printf(Pleaseinputtwonumber:rT);scanf(%d%d,&m,&n);c=gcd(m,n);c獲取最大公約數(shù)d=lcm(m,n);/d獲取最小公倍數(shù)printf(TheGCDof%dand%dis:%d!n,m,n,c);printf(,zTheLCMof%dand%dis:%d!n,m,n,d);return0;intgcd(intx,inty)/最大公約數(shù)GreatestCommonDivisorinttemp;while(x%y!=0)temp二y;/y在下一輪中作為除數(shù),即是下輪中的X,所以先閃-邊去.y=x%y;/x,y的余數(shù)作為下一輪中的Y,由x%y
15、來取得.x二temp;剛才temp中存儲了y的值,現(xiàn)在拿出來作為下輪中的X使用.returny;這是每一輪中的被除數(shù),按原理來,這就是最大公約數(shù),即累除法的原理.intlcm(intx,inty)/最小公倍數(shù)LowestCommonMultipleinti,temp;if(xy)保證二者大的數(shù)在X上,小的數(shù)在Y上.小于號降序,大于號升序.以下為經(jīng)典三行碼,實現(xiàn)兩個數(shù)的互換.temp=x;X二y;y二temp;for(i=l;i=y;i+)/設(shè)定個區(qū)間,從1至小的數(shù)之間的循環(huán).if(!(x*i)%y)除得盡為冬,非零為真,則成立并返凹.如此往復,直到収模無余數(shù),那么小的數(shù)X乘以區(qū)間當前的I值,就
16、是最小公倍數(shù).returnx*i;最簡單的c程序設(shè)計一一順序程序設(shè)計P0373.1把華氏溫庚拷化鬲銀氏素斥右ttincludefloatF_to_C(floatinput_fah)/代表華轉(zhuǎn)攝,input_fah是局部變量.floatoutput_cen;/這里也是局部變量.output_cen=(5.0/9)*(input_fah32);/函數(shù)的功能體.returnoutput_cen;返回值,注意,返回值的數(shù)據(jù)類型應該和函數(shù)致.floatC_to_F(floatinput_cen)floatoutput_fdh;output_fah=(9.0/5)*input_cen+32;/轉(zhuǎn)換過程.r
17、eturnoutput_fah;intmainOintchoice;floatinput_fah,input_cen,output_fah,output_cen;/局部變量的調(diào)用及參數(shù)傳遞.printf(F_to_CpressandC_to_Fpress!n);scanf(%d,&choice);if(choice=l)printf(Pleaseinputfahrenheit:“);scanf&input_fah);這個是主函數(shù)定義的變量,雖然和調(diào)用函數(shù)同洛.output_cen二F_to_C(input_fah);printf(The華氏is%d,攝氏is%d.(int)input_fah,
18、(int)output_cen);if(choice=2)printf(z,Pleaseinputcentigrade:);scanf&input_cen);output_fah=C_to_F(input_cen);printf(TheCentigradeis%d,andtheFahrenheitis%d(int)input_cen,(int)output_fah);return0;至弐_攔蘭蜀罷止熬逢L息卷空盤虜包塁2:#includeintmainOfloatp0=1000,rl=0.0036,r2=0.0225,r3=0.0198,pl,p2,p3;pl=pO*(1+rl);p2=p0*
19、(l+r2);p3=p0*(l+r3/2)*(l+r3/2);printfCzpl=%fnp2=%fnp3=%fn/z,pl,p2,p3);return0;ttincludeintmainO小寫范圍是97-122,大寫范圍是65-90,大寫加上即得小寫.26個字母.charcl,c2;cl二A;c2=cl+32;printf(,z%c%d,c2,c2);return0;70593.4伶出三角形邊農(nóng),尊出面張,#includettincludeintmainOdoublea=3.67,b=5.43,c二6.21,s,area;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)
20、*(s-c);printf(,zareais%fnz,,area);/默認可以組成三角形.return0;P065.玄丄遵二遠三生蓋埜魚趨:越銓西個丞圍媲:ttincludettincludeintmain()doublea,b,c,disc,xl,x2,p,q;scanfC%lf%lf%lf,&a,&b,&c);disc=b*b-4*d*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);xl=p+q;x2=p-q;printf(,zxl=%7.2fnx2=%7.2f,xl,x2);return0;ttincludettincludeintmainOdoublea=l.0
21、;1是整型,1.0是浮點型,默認是double.可以是float.printf(,z%.9fn,a/3);return0;P072.昱乙血理蠱老電魚煞邕蟲:.#include#includeintmainOfloata;輸出的結(jié)果是.333252,float精度6位,所以第七位后不可信.滬10000/3.0;printf(%fn,a);return0;include#includeintmain()chara=,B,b二0,c二Y;putchar(a);putchar(b);putchar(c);putcharCn);putchar(101);101是A的ASCII代碼的縮寫,因為此函數(shù)只能輸
22、出字符.putchar(66);return0;昱纟_您週盈獨鷹型拓蠱二includettincludeintmain()chara,b,c;a=getchar();7020.2求各種看款的利息敘,b二getchar();c=getchar();putchar(a);putchar(b);putchar(c);這也是基木回顯的C程序代碼.putcharCn);return0;3.10衙到丈禺,左的為繪母小富,ttincludettincludeintmainOchara,b;a=getchar();b=a+32putchar(b);putcharCn);return0;P0X20.1國氏望產(chǎn)總
23、值力弄后的憎衣信毅,includestdio.h#includeintmainOdoublep,r=0.09,n=10;p=pow(l+r),n);這是數(shù)學函數(shù),pow(x,y)計算x的y次方.printf(Pis%lfwhen10yearslater.rT,p);return0;/結(jié)果是0.36倍.#include#includeintmain()/年份和當年利率均有給出.doublep,r,n;/1292.5,這是全五年期.If輸出的是double型./1270.76,這是先二年,再三年的./1270.76,這是先三年,再二年的.證明,是一樣的./1224.86,這難道說是,相對的存死期越
24、久越值錢./1428.74.p=1000*(1+5*0.0585);printf(5yearsis%lf!rT,p);p=(1000*(1+2*0.0468);p=(p*(1+3*0.0540);printf(5yearsis%lf!iT,p);p=(1000*(1+3*0.0540);p=(p*(1+2*0.0468);printf(5yearsis%lf!rT,p);p=1000*pow(l+0.0414),5);printf(5yearsis%lf!rT,p);p=1000*pow(l+0.072/4),4*5);printf(,z5yearsis%lf!n,p);return0;空色?
25、_農(nóng)仏企衛(wèi)要巴遂更:.include#includemath.hintmainOdoublem,r=0.01,d=300000,p=6000;m=(loglO(p/(p-d*r)/(loglO(1+r);printf(z/%.lir,m);按要求只留個小數(shù),所以要寫%.Ilf.return0;0.6常母密碼袴換,調(diào)用島赦及臨界處謖,includecharprintcode(charf)if(int)f86&(int)f118&(int)f123)return(f-26+4);因為putchar會自動返M,所以改成return,因為這是在函數(shù)中,調(diào)用需要返回值.elsereturn(f+4);i
26、ntmain()chara,b,c,d,e;printf(Pleaseinput:rT);a二getchar();b二getchar();c=getchar();d=getchar();e=getchar();/臨界問題.printf(c%c%c%c%c,prirrtcode(a),printcode(b),printcode(c),prirrtcode(d),printcode(e);putchar(putcharcode(a);putchar(putcharcode(b);putchar(putcharcode(c);putchar(putcharcode(d);putchar(putch
27、arcode(e);return0;/注意理解自定義函數(shù)的定義,使用,及形參實參的流向./p84的是計算問題,自己看著辦,最后要求小數(shù)點后兩位,用的是%.21f來實現(xiàn),因為沒有要求實部,所以m.11格式中m不寫./p84的是定義問題,第一問,兩者都行,但是定義字母時,scemf要寫%c來獲取,而定義數(shù)值時則要用%(1來獲取./第二問,putchar貌似只能輸出字符,所以用printf.putchar木身就是字符輸出函數(shù)啦,字符,有木有!字符?。”M管它的參數(shù)可以是putcharCMOD,效果是輸出字符A啊./第三問,出現(xiàn)任何及無條件,那么答案明顯是否.可以轉(zhuǎn)換,但要在某此條件下,例如輸出和讀入時
28、,c是字母,而%d是數(shù)值,看著辦.選擇結(jié)構(gòu)程序設(shè)計P0X64.1一兄二次方輕求根的二今丈,include#includeintmainOdoublea,b,c,disc,xl,x2,p,q;scanfC%lf%lf%lf,&a,&b,&c);disc=b*b-4*a*c;if(discintmainO此程序代表按大小順序輸出.floata,b,t;scanf(zz%f%f/z,&a,&b);/出錯時,注意檢査這里是否按格式輸入了.比如有個逗號.遷(ab)t二a;a=b;b=t;printf(%5.2f,%5.2fn,a,b);return0;704.3三個敘按丈小輸岀,#includeintm
29、ainO此程序代表按大小順序輸出.floata,b,c,t;scanfC%f%f%f,&a,&b,&c);辻(ab)此處執(zhí)行后,a為小者.t=a;a=b;b=t;if(ac)此處執(zhí)行后,a為小者.t=a;a=c;c=t;if(bc)上而已經(jīng)搞定s是最小者,現(xiàn)在對比得出次小者,并且已經(jīng)歸到變量中.t=b;b=c;c=t;printf(5.2f,%5.2f%5.2fn,a,b,c);return0;三0空_纟烈飾扯仝生卷迓遠俺徑土冬筮世:includeintmain()charch;scanf(%c,&ch);ch=(ch=A&ch=Z,)?(ch+32):ch;條件運算符,真取前,假取后.pri
30、ntf(%cn,ch);return0;惣竺纟丄參要更栓魚型產(chǎn)購纟魚#includeintmainOintx,y;scanf(%d,&x);if(x=0)if(x0)/這個范圍要基于x=0來判斷.y=l;elsey=O;else/這個是xO的范圍.y=-l;printf(x=%d,y=%d,x,y);return0;徑纟9蘭磁電適遵逐週:.#includeintmainOchargrade;scanf(%c,&grade);printf(,zYourscore:);switch(grade)cases:printf(,85-100n,/);break;/當多分支結(jié)構(gòu)過于多時,可以用switch
31、來解決.caseb:prirrtf(70-84n);break;casec:prirrtf(6O69rT):break;cased:printf(60rT):break;defauIt:prirrtf(Enterdataerror!n,z);return0;也筈.纟乙+,懸檢仝雄盤卷恵二拴縣丟殳主士逼二ttincludevoidactionl(intx,inty)printf(x+y=%drT,x+y);voidaction2(intx,inty)printf(x*y=%drT,x*y);intmainOcharch;inta=15,b=23;ch=getchar();switch(ch)ca
32、sea5:caseA:actionl(a,b);break;/a,A共用-個執(zhí)行語句.caseb:caseB:action2(a,b);break;default:putcharCa,);/a可以控制電腦發(fā)出蜂鳴聲.return0;P106_纟丄週購僉圭圭邕宜土理聖ttincludeintmainOintyear,leap;priritf(Pleaseinputtheyear:n,z);scanf&year);if(year%4-0)/400年里,在100個口J除盡4的年里計算,以下是在全范圍內(nèi)計算.if(year%100=0)既是100個內(nèi)的,又是可以除盡100的,算是且.辻(year%40
33、0=0)相當于且了兩次,只余下唯一一個.leap=l;else/400年里只有1個除得盡,其它都不是.leap=0;else/這里的范圍是(year%40)&(year%100!=0)leap=l;在合法的100內(nèi),又不是2100,2200啖的,當然屬閏年.elseleap=0;if(leap)printf(%dis,year);elseprintf(%disnot,year);printf(,zaleapyear!);/不管上面如何判斷,最后還是會輸出這-句.return0;三呂L.纟纟.二並三理蓋埜鬼僉笛遵過蠱二include#includeintmainOdoublea,b,c,disc
34、,xl,x2,realpart,imagpart;scanf(,z%lf%lf%lf,&a,&b,&c);if(year%4-0)/400年里,在100個口J除盡4的年里計算,以下是在全范圍內(nèi)計算.printf(Theequation“);if(fabs(a)=le6)/fabs是絕對值,le-6,即是的負六次方,接近或是等于零.printf(isnotaquadratic!n);printf(xl二x2=%lf,-c/b);elsedisc=b*b-4*a*c;if(fabs(disc)le-6)xl=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);
35、printf(hasdistinctrealroots:%lfand%lfn,xl,x2);elserealpart二-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(hascomplexroots:rT);printf(lf+%lfinz,,realpart,imagpart);printf(lf+%lfinz,,realpart,imagpart);return0;徑纟.,纟比圭空査企亙迥掘社篡豎査旦遵證理:ttincludeintmainOdoublep,w,s,d,f;printf(p,w,siT);scanf(,z%lf%lf%lf,&p,&w,&
36、s);遷(s250)d二0.0;f=p*w*s*(ld);printf(%lf,f);else遷(s500)d=0.02;f=p*w*s*(ld);printff);else辻(s1000)d=0.05;f=p*w*s*(ld);printff);elseif(s2000)d=0.08;f=p*w*s*(ld);printf(%lf,f);elseif(s3000)d=0.1;f=p*w*s*(ld);printff);elsed=0.15;f=p*w*s*(ld);printff);return0;P01120.4被盤綺入三個鼠輸出眾攵卷includeintmina,mida,maxa;in
37、tmax(inta,intb,intc)intm;辻(ab)凡是比較中,大于號代表升序排列.01二8;a=b;b=m;辻(ac)m=a;a=c;c=m;if(bc)m=a;a=c;c=m;return(c);/此排序后,a,b,c由小到大.所以c是返回中最大的.intmain()inta,b,c;printf(Pleaseinput3numbers:“);scanf(%d%d%d,&a,&b,&c);printf(Themaxis%d!nmax(a,b,c);return0;P01120.5ttincludeincludeintmain()doublea,b;printf(Pleaseinpu
38、tanumber:“);scanf&a);if(a1000)b=sqrt(a);elseprintf(VT);/控制蜂鳴聲printf(Pleaseinputanumberagainscanf&a);11b=sqrt(a);printf(XOlf,b);/按要求,只取整數(shù).return0;2?翌0纟一二個丟套空2笆購蠱二羥釜住檢也.#includeincludeintmainOinti,a,b4,count=0;printf(Pleaseinputanumber(five-digitnumber)/意思是五位數(shù)以內(nèi).scanf(%d,&a);for(i=0;i=0;i)printf(,z%d,
39、bi);printf(n);printf(,z倒序輸出這個數(shù)字,如下:);for(i=0;i=4;i+)printf(%d,bi);printfCrT);return0;P0112-.2呂徑要更莖邑基金煜復笑ZincludeintmainOdoublea,b;printf(,zPleaseinputprofitamountscanf&a);if(a=10)/這個是整個辻的基礎(chǔ).b=a*0.1;elseif=20)/以上面為基礎(chǔ),這已經(jīng)代表了10-20間了!b=l+(a-10)*0.075;elseif(a=40)同理,這是20-401nJ.b=l+0.75+(a-20)*0.05;elseif
40、(a=60)b=l+0.75+0.1+(a-40)*0.03;elseif(a=100)b=l+0.75+0.1+0.06+-60)*0.15;else/這里是大于100的.b=l+0.75+0.1+0.06+-100)*0.01;printf(Therewardis%lf!rT,b);return0;P0J12.上:理巒要更莖邑基舍色纟理遊ZincludedoubleGetProfit(doublec)printf(Pleaseinputprofitamount:);scanf(%lf,&c);return(c);返回本身了,如果有進步的計算結(jié)果,將值賦給其它變量,也可以返回.intmain
41、()doublea;charc;printf(,zYourchoice:nA:010;nB:10-20;nC:20-40;nD:40-60;nE:60-100;nF:100-1000;n);scanf(%c,&c);不同檔吋,應照檔的規(guī)定數(shù)值進行輸入,否則結(jié)果不會是正確的.switch(c)前三后三用于比較調(diào)用函數(shù)./GetProfit(c)引入的實參沒有意義,返回值和引入的實參沒關(guān)系,反而由鍵盤獲得.caseA:printf(z,Therewardis%lf!nGetProfit(c)*0.1);break:/0-100.100caseB:printf(Therewardis%lf!n,z,
42、1+(GetProfit(c)-10)*0.075);break;/10-200.075TOC o 1-5 h zcaseC:printf(z,Therewardis%lf!n,z,1+0.75+(GetProfit(c)-20)*0.05);break;/20-400.050caseD:printf(Pleaseinputprofitamount;scanf(%lf,&a);printf(Therewardis%lf!n,1+0.75+0.l+(a40)*0.03);break;/40-600.030caseE:printf(Pleaseinputprofitamount;scanf(%lf
43、,&a);printf(Therewardis%lf!n,1+0.75+0.1+0.6+(a-60)*0.15):break;/60-1000.015caseF:printf(Pleaseinputprofitamount;scanf(%lf,&a);printf(Therewardis%lf!n,1+0.75+0.1+0.6+0.6+(a-100)*0.01);break;/100-10000.010default:printf(,zErrordata!);break;口J以有個執(zhí)行體,用包括起來.return0;P01120.11被盤綺入赦仏址后排序輸出,#includeintmainOi
44、nta10,i,變量可以在寫代碼過程中再回來臨時添加.printfC請輸入數(shù)值的個數(shù):(十個以內(nèi));scemf&m);/到這里需要變量來承載數(shù)值的個數(shù),設(shè)m,回頭去定義變量那寫上m.printf(-請分別輸入相對應個數(shù)的數(shù)值:);for(i=0;im;i+)scanf(%d,&ai);for(i=0;im;i卄)for(j=i+l;jajj)這是選擇排序法.升序.n=ai;這里需要一個用于臨時變量的n,所以回頭去寫上.ai=aj:aj=n;for(i=0;im;i+)printf(%d,ai);return0;C程序設(shè)計(第四版)(譚浩強)第五章課后習題答案循環(huán)結(jié)構(gòu)程序設(shè)計P1155.1用奴滋
45、針耳7至心的合.includeintmain()inti=l,sum=0;、vh訂e(iintmainOinti=l,sum=0;do/do-while可以做的事,用while都可以做到./do-while先做一次執(zhí)行,再判斷條件,而wh訂e卻是先做一個條件,再執(zhí)行.sunFsum+i;i+;while(iintmain()inti,sum=0;printf(z,Pleaseinputanumberscemf(%d,&i);/輸入10以內(nèi),正常,11的話,貝ijsum仍然是0.while(i=10)sum二sum+i;i+;printf(Thesumofl10is%d.rT,sum);retu
46、rn0;#includeintmainOinti,sum=0;printf(Pleaseinputanumberscanf(%d,&i);輸入10以內(nèi),結(jié)果樣.輸入11的話,先做操作,所以sum二11.dosum=sum+i;i+;打Mle(i=10);此重點在于理解二者的差別.printf(Thesumofl10is%d.rT,sum);return0;己經(jīng).2纟住越撿創(chuàng)總二#includeintmainOiriti,b=0,a,c;for(i=0;i=100)break;/break是用于跳出循壞,對if無效,對wh訂eforswitch這類.c=b/i;printf(,zconutis%
47、d,averis%d”,i+l,c);注意%號后的形式,否則可能輸出錯誤.return0;P1275.5?!暗睦?includeintmainOinti;for(i=l;i20;i+)if(i%3!=0)continue;跳過木次I,執(zhí)行下一個i.printf(%d“,i);printf(rT);return0;?LZ9_魚邑二仝住魚矍?L#includeintmainOinti,j,a=O;沒有給初值,會出現(xiàn)警告:使用了未初始化的局部變量“獷.for(i=l;i=4;i+)for(j=l;ji*j);printf(rT);return0;Pl3t_.二乙囲二企冬負敷埜總建墜敷匹竺邕二tti
48、ncludettincludeintmainO四分之哌等于(1)-(1/3)+(1/5)-(1/7)+(1/9)-(1/11).floats=l,n=l,m,sum=0,t;for(m=l;m=m+2)不確定哪項才會小于等于十的負六次方,所以不指定,無限下去./不指定第二項,執(zhí)行語句中應該有控制跳出的句子,否則死循環(huán).t=(s)*(n/m);/這是第一項,s是符號,if(fabs(t)=le-6)/應該寫在這里,題目要求這項不累加進去.break;SUDFSUin+t;因為累加項在這里,所以,旦跳出就不會累加進來了.s=s*(-1);變號i次.printf(四分之哌的值是%f.n,sum);printfC-個完整哌的值是,sum*4);return0;下面這段小代碼用來驗證關(guān)于數(shù)值型數(shù)據(jù)類型的關(guān)系去掉注釋,可運行./如果出現(xiàn)類似值為全1或是全零的話,一般可以考慮數(shù)據(jù)類型賦值或是定義錯了的問題./#include/這是關(guān)于intfloatdouble三者關(guān)復雜關(guān)系的,亂啊,如果看不懂,口J以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025嶺南文化創(chuàng)意產(chǎn)業(yè)園項目啟動儀式籌辦服務(wù)合同協(xié)議書
- 2025含破碎錘挖掘機買賣合同書
- 2025咖啡粉批發(fā)合同
- 2025金屬制品委托加工合同
- 2023三年級英語上冊 Unit 5 Let's eat The first period第一課時說課稿 人教PEP
- 5 應對自然災害(說課稿)2023-2024學年統(tǒng)編版道德與法治六年級下冊
- 保母阿姨合同范例
- 人用工合同范例
- 上海檢測合同范例
- 金屬防水材料施工方案
- 頸復康腰痛寧產(chǎn)品知識課件
- 2024年低壓電工證理論考試題庫及答案
- 微電網(wǎng)市場調(diào)查研究報告
- 《民航服務(wù)溝通技巧》教案第14課民航服務(wù)人員上行溝通的技巧
- 中國古代舞蹈史
- MT/T 538-1996煤鉆桿
- 小學六年級語文閱讀理解100篇(及答案)
- CB/T 467-1995法蘭青銅閘閥
- 氣功修煉十奧妙
- 勾股定理的歷史與證明課件
- 中醫(yī)診斷學八綱辨證課件
評論
0/150
提交評論