《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案(第四版)譚浩強(qiáng)_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案(第四版)譚浩強(qiáng)_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案(第四版)譚浩強(qiáng)_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》課后習(xí)題答案(第四版)譚浩強(qiáng)_第4頁(yè)
已閱讀5頁(yè),還剩107頁(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è)計(jì)和C語(yǔ)言1什么是計(jì)算機(jī)程序1什么是計(jì)算機(jī)語(yǔ)言1L3C語(yǔ)言的發(fā)展及其特點(diǎn)3最簡(jiǎn)單的C語(yǔ)言程序54.1最簡(jiǎn)單的C語(yǔ)言程序舉例62c語(yǔ)言程序的結(jié)構(gòu)105運(yùn)行C程序的步驟與方法121.6程序設(shè)計(jì)的任務(wù)141-5#include<stdio.h>intmain(){printf("************************* ■printf(MVeryGood!\n\nn);prjntf("************************* ")?return0;l-6#include<stdio.h>intmain(){inta,b,c,max;printf("pleaseinputa,b,c:\n");scanf("%d,%d,%d';&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("Thelargestnumberis%d\n",max);return0;I第2章算法一程序的靈魂16什么是算法16簡(jiǎn)單的算法舉例17算法的特性21怎樣表示ー個(gè)算法22用自然語(yǔ)言表示算法22用流程圖表示算法22三種基本結(jié)構(gòu)和改進(jìn)的流程圖26用NS流程圖表示算法28用偽代碼表示算法31用計(jì)算機(jī)語(yǔ)言表示算法32結(jié)構(gòu)化程序設(shè)計(jì)方法34習(xí)題36第章最簡(jiǎn)單的C程序設(shè)計(jì)ー順序程序設(shè)計(jì)37順序程序設(shè)計(jì)舉例37數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算39常量和變量39數(shù)據(jù)類(lèi)型42整型數(shù)據(jù)44字符型數(shù)據(jù)47浮點(diǎn)型數(shù)據(jù)49怎樣確定常量的類(lèi)型51運(yùn)算符和表達(dá)式52C語(yǔ)句57C語(yǔ)句的作用和分類(lèi)57最基本的語(yǔ)句——賦值語(yǔ)句59數(shù)據(jù)的輸入輸出65輸入輸出舉例65有關(guān)數(shù)據(jù)輸入輸出的概念67用printf函數(shù)輸出數(shù)據(jù)68用scant函數(shù)輸入數(shù)據(jù)75字符數(shù)據(jù)的輸入輸出78習(xí)題823-1#include<stdio.h>#include<math.h>intmain(){floatp,r,n;r=0.1;n=10;p=pow(l+r,n);printf(Mp=%f\n",p);return0;3-2-1#include<stdio.h>#include<math.h>intmain(){floatr5,r3,r2,rl,r0,p,pI,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;rl=0.0414;rf)=0.0072;pl=p*((l+r5)*5);p2=p*(1+2*r2)*(l+3*r3);p3=p*(l+3*r3)*(l+2*r2);p4=p*pow(1+r1,5);p5=p*pow(1+r0/4,4*5);printf("pl=%f\n",p1);printfC'p2=%f\nn,p2);printf(Hp3=%f\n",p3);printf(Hp4=%f\nH,p4);printf(',p5=%f\nM,p5);return0;)3-2-2#include<stdio.h>#include<math.h>intmain(){doubler5,r3,r2,r1,rO,p,pl,p2p=1000;r5=0.0585;r3=0.054;r2=0.0468;rl=0.0414;r0=0.0072;pl=p*((l+r5)*5);p2=p*(l+2*r2)*(l+3*r3);p3=p*(l+3*r3)*(l+2*r2);p4=p*pow(l+rl,5);p5=p*pow(1+r0/4,4*5);printf(Hpl=%f\nn,pl);printf(,,p2=%f\n,,,p2);printf(*,p3=%f\n",p3);printf(Mp4=%Ann,p4);printf(,'p5=%f\n",p5);return0;//一次存5年期〃先存2年期,到期后將本息再存3年期〃先存3年期,到期后將本息再存2年期〃存1年期,到期后將本息存再存1年期,連續(xù)存5次//存活期存款?;钇诶⒚恳患径冉Y(jié)算ー次/Z輸出按第1方案得到的本息和/Z輸出按第2方案得到的本息和/Z輸出按第3方案得到的本息和/Z輸出按第4方案得到的本息和/Z輸出按第5方案得到的本息和,p3,p4,p5;//一次存5年期〃先存2年期,到期后將本息再存3年期〃先存3年期,到期后將本息再存2年期//存1年期,到期后將本息存再存1年期,連續(xù)存5次//存活期存款?;钇诶⒚恳患径冉Y(jié)算ー次〃輸出按第1方案得到的本息和/Z輸出按第2方案得到的本息和/Z輸出按第3方案得到的本息和/Z輸出按第4方案得到的本息和/Z輸出按第5方案得到的本息和#include<stdio.h>#include<math.h>intmain(){floatr5,r3,r2,rl,r0,p,pI,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;pl=p*((l+r5)*5);p2=p*(l+2*r2)*(l+3*r3);p3=p*(l+3*r3)*(l+2*r2);p4=p*pow(l+rl,5);p5=p*pow(1+r0/4,4*5);pl=p*((l+r5)*5);p2=p*(l+2*r2)*(l+3*r3);p3=p*(l+3*r3)*(l+2*r2);p4=p*pow(l+rl,5);p5=p*pow(1+r0/4,4*5);printf(Mp1=%10.2f\nH,p1);printf(,,p2=%10.2f\n';p2);printf(np3=%10.2f\nu,p3);printf("p4=%10.2f\n,\p4);printf(,'p5=%10.2f\nu,p5);return0;〃先存2年期,到期后將本息再存3年期〃先存3年期,到期后將本息再存2年期〃存1年期,到期后將本息存再存1年期,連續(xù)存5次//存活期存款?;钇诶⒚恳患径冉Y(jié)算ー次/Z輸出按第1方案得到的本息和/Z輸出按第2方案得到的本息和/Z輸出按第3方案得到的本息和/Z輸出按第4方案得到的本息和/Z輸出按第5方案得到的本息和3-3.#include<stdio.h>#include<math.h>intmain(){floatd=300000,p=6000,r=0.01,m;m=log10(p/(p-d*r))/log10(l+r);printf(Mm=%6.2f\n'\m);return0;3-4#include<stdio.h>intmain(){intcl,c2;cl=197;c2=198;printf(Mc1=%c,c2=%c\nH,cl,c2);printf(Mcl=%d,c2=%d\nH,cl,c2);return0;3-5#include<stdio.h>intmain(){inta,b;floatx,y;charcl,c2;scanf(Ha=%db=%d",&a,&b);scanf(n%f%en,&x,&y);scanf(n%c%cn,&cI,&c2);printf(Ma=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c\nH,a,b,x,y,cl,c2);return0;3-6#include<stdio.h>intmain(){charcl=,C,,c2='h',c3=,i,,c4='n,,c5=,a,;c1=c1+4;c2=c2+4;c3=c3+4;c4=c4+4;c5=c5+4;printf(Mpassworis%c%c%c%c%c\nn,c1,c2,c3,c4,c5);return0;}3-7#include<stdio.h>intmain(){floath,r,l,s,sq,vq,vz;floatpi=3.141526;printf("請(qǐng)輸入圓半徑r,圓柱高h(yuǎn):");scanf("%f,%f,,&r,&h); //要求輸入圓半徑r和圓柱高h(yuǎn)l=2*pi*r; 〃計(jì)算圓周長(zhǎng)1〃計(jì)算圓球體積〃計(jì)算圓球體積vq〃計(jì)算圓柱體積vzs=r*r*pi;sq=4*pi*r*r;vq=3.0/4.0*pi*r*r*r;vz=pi*r*r*h;〃計(jì)算圓面積s〃計(jì)算圓球表面積sqprintf("圓周長(zhǎng)為: l=%6.2f\n",l);printf("圓面積為: s=%6.2f\nu,s);printf("圓球表面積為:sq=%6.2f\nM,sq);printf("圓球體積為: v=%6.2f\nu,vq);printf(M圓柱體積為: vz=%6.2f\nH,vz);return0;3-8-1#include<stdio.h>intmain()(intcl,c2; 〃整型定義printf(”請(qǐng)輸入兩個(gè)整數(shù)cl,c2:M);scanf(M%d,%d\&c1,&c2);printf("按字符輸出結(jié)果An");printf(M%c,%c\nH,cl,c2);printf("按ASCII碼輸出結(jié)果為:\n“);printf(n%d,%d\nn,c1,c2);return0;)3-8-2#include<stdio.h>intmain()(charcl,c2; 〃定義字符型變量intil,i2; 〃定義整型變量printf(”請(qǐng)輸入兩個(gè)字符cl,c2:n);scanf("%c,%cM,&cI,&c2);il=cl; 〃賦值給整型變量i2=c2;printf("按字符輸出結(jié)果:\n");printf(M%c,%c\n",il,i2);printf("按整數(shù)輸出結(jié)果:\n");printf(M%d,%d\nM,cl,c2);return0;#include<stdio.h>intmain()(〃定義為字符型〃定義為整型〃定義為字符型〃定義為整型〃將整數(shù)賦值給字符變量intil,i2;printf("請(qǐng)輸入兩個(gè)整數(shù)il,i2:H);scanf(H%d,%dn,&il,&i2);cl=il;c2=i2;printf("按字符輸出結(jié)果:\n");printf(n%c,%c\nn,cl,c2);printf("按整數(shù)輸出結(jié)果:\n");printf(n%d,%d\nn,cl,c2);return0;3-8#include<stdio.h>intmain()(charcl,c2;printf("請(qǐng)輸入兩個(gè)字符cl,c2:M);cl=getchar();c2=getchar();printfぐ用putchar語(yǔ)句輸出結(jié)果為:");putchar(c1);putchar(c2);printf("\nH);printf(”用printf語(yǔ)句輸出結(jié)果為:");printf(M%c%c\nH,cl,c2);return0;}第4章選擇結(jié)構(gòu)程序設(shè)計(jì)85選擇結(jié)構(gòu)和條件判斷85用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)87用if語(yǔ)句處理選擇結(jié)構(gòu)舉例87f語(yǔ)句的一般形式89關(guān)系運(yùn)算符和關(guān)系表達(dá)式91關(guān)系運(yùn)算符及其優(yōu)先次序91關(guān)系表達(dá)式92邏輯運(yùn)算符和邏輯表達(dá)式92邏輯運(yùn)算符及其優(yōu)先次序93邏輯表達(dá)式94邏輯型變量96條件運(yùn)算符和條件表達(dá)式97選擇結(jié)構(gòu)的嵌套99用sw計(jì)ch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)102選擇結(jié)構(gòu)程序綜合舉例105習(xí)題1114-4-1#include<stdio.h>intmain()(inta,b,c;printf(”請(qǐng)輸入三個(gè)整數(shù):");scanf("%d,%d,%d';&a,&b,&c);if(a<b)if(b<c)printf("max=%d\n,,,c);elseprintf(',max=%d\n,',b);elseif(a<c)printf("max=%d\nM,c);elseprintf("max=%d\nM,a);return0;}4-4-2#include<stdio.h>intmain(){inta,b,c,temp,max;printf(”請(qǐng)輸入三個(gè)整數(shù):");scanf("%d,%d,%d”,&a,&b,&c);temp=(a>b)?a:b; /?將a和b中的大者存入temp中?/max=(temp>c)?temp:c; /?將a和b中的大者與c比較,取最大者?/printf(”三個(gè)整數(shù)的最大數(shù)是%d\n”,max);return0;4-5-2#include<stdio.h>#include<math.h>#defineM1000intmain()inti,k;printf("請(qǐng)輸入ー個(gè)小于%d的整數(shù)scanf("%d”,&i);while(i>M){printf("輸入的數(shù)不符合要求,請(qǐng)重新輸入ー個(gè)小于%d的整數(shù)scanf(M%dM,&i);)k=sqrt(i);printf(M%d的平方根的整數(shù)部分是:%d\n”,i,k);return0;4-5#include<stdio.h>#include<math.h>#defineM1000intmain()inti,k;printf("請(qǐng)輸入ー個(gè)小于%d的整數(shù)i:”,M);scanf(H%dH,&i);if(i>M){printf("輸入的數(shù)不符合要求,請(qǐng)重新輸入一個(gè)小于%d的整數(shù)i:”,M);scanf("%d”,&i);)k=sqrt(i);printf("%d的平方根的整數(shù)部分是:%d\n",i,k);return0;4-6.#include<stdio.h>intmain(){intx,y;prinlf("輸入x:”);scanf(n%dn,&x);if(x<l){y=x;y=x=%d\nn,x,y);printf(y=x=%d\nn,x,y);{y=2*x-l;printf(Mx=%d,y=2*x-l=%d\n\x,y);)else /*x>=10*/{y=3*x-l1;printf(Hx=%d,y=3*x-H=%d\nu,x,y);)return0;4-7-1#include<stdio.h>intmain()(intx,y;printf("enterx:");scanf(”%d”,&x);y=-l;if(x!=0)if(x>0)y=l;elsey=0;printf(Mx=%d,y=%d\n",x,y);return0;4-7-2#include<stdio.h>intmain()(intx,y;printf(Mpleaseenterx:H);scanf(*'%d,\&x);y=0;if(x>=0)if(x>0)y=l;elsey=-l;printf(,,x=%d,y=%d\n",x,y);return0;4-8#include<stdio.h>intmain(){floatscore;chargrade;printf(”請(qǐng)輸入學(xué)生成績(jī)ぐ);scanf(H%f,,&score);while(score>100llscore<0){printf(H\n輸入有誤,請(qǐng)重輸つ;scanf(n%f\&score);)switch((int)(score/10)){case10:case9:grade二'A';break;case8:grade二'B';break;case7:grade='C';break;case6:grade二'D';break;case5:case4:case3:case2:case1:case0:grade二E;)printf("成績(jī)是%5.If,相應(yīng)的等級(jí)是%c\n'score,grade);return0;4-9#include<stdio.h>#include<math.h>intmain()(intnum,indiv,ten,hundred,thousand,ten_thousand,placei 〃分別代表個(gè)位,卜位,百位,千位,萬(wàn)位和位數(shù)printf("請(qǐng)輸入ー個(gè)整數(shù)(0-99999):”);scanf("%d",&num);if(num>9999)place=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=l;printf("位數(shù):%d\n”,place);printf("每位數(shù)字為ジ);ten_thousand=num/10000;thousand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten_thousand*10000-thousand*l000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*l0);switch(place){case5:printf("%d,%d,%d,%d,%d”,ten_thousand,thousand,hundred,ten,indiv);printf(M\n反序數(shù)字為ゴ);printf(',%d%d%d%d%d\n',,indiv,ten,hundred,thousand,ten_thousand);break;case4:printf(u%d,%d,%d,%d,',thousand,hundred,ten,indiv);printf("\n反序數(shù)字為ゴ);printf("%d%d%d%d\n",indiv,ten,hundred,thousand);break;case3:printf("%d,%d,%d",hundred,ten,indiv);printf("\n反序數(shù)字為ゴ);printf(M%d%d%d\n",indiv,ten,hundred);break;case2:printf(1,%d,%dM,ten,indiv);printf("\n反序數(shù)字為:");printf(^^%d%d\n,^,indiv,ten);break;case1:printf(H%d",indiv);printf(M\n反序數(shù)字為ゴ);printf("%d\n”,indiv);break;}return0;4-10-1#include<stdio.h>intmain()(inti;doublebonus,bon1,bon2,bon4,bon6,bon10;bon『100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+l00000*0.05;bon6=bon4+100000*0.03;bon10=bon6+400000*0.015;printf("請(qǐng)輸入利潤(rùn)i:");scanf(”%d”,&i);if(i<=100000)bonus=i*0.1;elseif(i<=200000)bonus=bonl+(i-l00000)*0.075;elseif(i<=400000)bonus=bon2+(i-200000)*0.05;elseif(i<=600000)bonus=bon4+(i-400000)*0.03;elseif(i<=1000000)bonus=bon6+(i-600000)*0.015;elsebonus=bon10+(i-1000000)*0.01;printf("獎(jiǎng)金是:%10.2f\n",bonus);return0;4-10-2#include<stdio.h>intmain()(inti;doublebonus,bon1,bon2,bon4,bon6,bon10;intbranch;bonl=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;printf("請(qǐng)輸入利潤(rùn)i:");scanf(,,%d,,,&i);branch=i/100000;if(branch>10)branch=l0;switch(branch){case0:bonus=i*0.1;break;:bonus=bon1+(i-100000)*0.075;break;bonus=bon2+(i-200000)*0.05;break;bonus=bon4+(i-400000)*0.03;break;bonus=bon6+(i-600000)*0.015;break;bonus=bon10+(i-1000000)*0.01;printf("獎(jiǎng)金是%10.2f\nM,bonus);return0;4-11#include<stdio.h>intmain(){intt,a,b,c,d;printf("請(qǐng)輸入四個(gè)數(shù):ッ;scanf(M%d,%d,%d,%dM,&a,&b,&c,&d);printf(Ma=%d,b=%d,c=%d,d=%d\nM,a,b,c,d);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(a>d){t=a;a=d;d=t;}if(b>c){t=b;b=c;c=t;}if(b>d){t=b;b=d;d=t;}if(c>d){t=c;c=d;d=t;}printf("排序結(jié)果如下:'n");printf(H%d%d%d%d\nn,a,b,c,d);return0;)4-12#include<stdio.h>intmain()inth=10;floatxI=2,yI=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;printf("請(qǐng)輸入ー個(gè)點(diǎn)(x,y):");scanf("%f,%f;&x,&y);d1=(x-x4)*(x-x4)+(y-y4)*(y-y4); /?求該點(diǎn)到各中心點(diǎn)距離?/d2=(x-x1)*(x-x1)+(y-yl)*(y-y1);d3=(x-x2)*(x-x2)+(y-y2)*(y-y2);d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);if(dl>l&&d2>l&&d3>l&&d4>l) h=0;/?判斷該點(diǎn)是否在塔外?/printf("該點(diǎn)髙度為%d\n",h);return0;第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)114為什么需要循環(huán)控制114用while語(yǔ)句實(shí)現(xiàn)循環(huán)115用do...while語(yǔ)句實(shí)現(xiàn)循環(huán)117用for語(yǔ)句實(shí)現(xiàn)循環(huán)120循環(huán)的嵌套124兒種循環(huán)的比較1255.y改變循環(huán)執(zhí)行的狀態(tài)125用break語(yǔ)句提前終止循環(huán)126用continue語(yǔ)句提前結(jié)束本次循環(huán)127break語(yǔ)句和continue語(yǔ)句的區(qū)別1285.8循環(huán)程序舉例131習(xí)題1405-2#include<stdio.h>#include<math.h>intmain()(intsign=l,count=0;doublepi=0.0,n=1.0,term=1.0;term代表當(dāng)前項(xiàng)的值while(fabs(term)>=1e-8)次方(pi=pi+term;n=n+2;sign=-sign;term=sign/n;count++;)pi=pi*4;printf("pi=%10.8f\nn,pi);printf(,,count=%d\n'\count);/Z程序中用到數(shù)學(xué)函數(shù)fabs,應(yīng)包含頭文件math.n//sign用來(lái)表示數(shù)值的符號(hào),count用來(lái)統(tǒng)計(jì)循環(huán)次數(shù)//pi開(kāi)始代表多項(xiàng)式的值,最后代表n的值,n代表分母,/Z檢查當(dāng)前項(xiàng)term的絕對(duì)值是否大于或等于!0的(-6)//把當(dāng)前項(xiàng)term累加到pi中//n+2是下ー項(xiàng)的分母〃sign代表符號(hào),下ー項(xiàng)的符號(hào)與上一項(xiàng)符號(hào)相反/Z求出下ー項(xiàng)的值term//count累加1/Z多項(xiàng)式的和pi乘以4,オ是n的近似值〃輸出n的近似值/Z輸出循環(huán)次數(shù)return0;5-3#include<stdio.h>intmain()(intp,r,n,m,temp;printf(”請(qǐng)輸入兩個(gè)正整數(shù)n,m:”);scanf(n%d,%d,",&n,&m);if(n<m){temp=n;n=m;m=temp;)p=n*m;while(m!=0)(r=n%m;n=m;m=r;1printf("它們的最大公約數(shù)為:%d\n”,n);printf("它們的最小公約數(shù)為:%d\n”,p/n);return0;)5-4#include<stdio.h>intmain()(charc;intletters=0,space=0,digit=0,other=0;printf(”請(qǐng)輸入一行字符:\n");while((c=getchar())!=An')(if(c>='a'&&cv='z'IIc>='A'&&c<='Z,)letters++;elseif(c==*r)space++;elseif(c>='0‘&&c<=*9')digit++;elseother++;printf("字母數(shù):%d\n空格數(shù):%d\n數(shù)字?jǐn)?shù):%d\n其它字符數(shù):%d\n”,letters,space,digit,other);return0;5-5#include<stdio.h>intmain(){inta,n,i=1,sn=0,tn=0;printf(na,n=:");scanf(n%d,%dM,&a,&n);while(i<=n){tn=tn+a;/*賦值后的tn為i個(gè)a組成數(shù)的值?/sn二sn+tn;/*賦值后的sn為多項(xiàng)式前i項(xiàng)之和*/a=a*10;++i;1printf("a+aa+aaa+.?尸%d\n”,sn);return0;5-6#include<stdio.h>intmain(){doubles=O,t=1;intn;for(n=1;n<=20;n++)(t=t*n;s=s+t;}printf(H1!+2!+...+20!=%22.15e\n",s);return0;}5-7#include<stdio.h>intmain()

intn1=100,n2=50,n3=10;doublek,s1=0,s2=0,s3=0;for(k=1;k<=nI;k++)/?計(jì)算1至リ100的和?/{sl=sl+k;}for(k=l;k<=n2;k++)/?計(jì)算1至リ50各數(shù)的平方和?/{s2=s2+k*k;}for(k=l;k<=n3;k++)/?計(jì)算1到10的各倒數(shù)和?/{s3=s3+l/k;}printf("sum=%15.6f\n",s1+s2+s3);return0;5-8#include<stdio.h>intmain()(inti,j,k,n;printf(MparcissusnumbersareH);for(n=100;n<l000;n++)(i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d”,n);)printf("\n");return0;)/?/?定義尋找范圍ッ#defineM1000#include<stdio.h>intmain()inti,a,n,s;inti,a,n,s;for(a=2;a<=M;a++){n=0;s=a;for(i=1;iva;i++)if(a%i==0)/*a是2-1000之間的整數(shù),檢查它是否完數(shù)?//*n用來(lái)累計(jì)a的因子的個(gè)數(shù)?//*s用來(lái)存放尚未求出的因子之和,開(kāi)始時(shí)等于a*/I?檢査i是否a的因子?//?如果i是a的因子?/

{n++;/*n加1,表示新找到ー個(gè)因子?/s=s-i;/*s減去已找到的因子,s的新值是尚未求出的因子之和?/switch(n)/?將找到的因子賦給ki...k9,或kl0*7{case1:kl=i;break;/?找出的笫1個(gè)因子賦給kl*/case2:k2=i;break;/*找出的笫2個(gè)因子賦給k2*/case3:k3=i;break;/?找出的笫3個(gè)因子賦給k3*/case4:k4=i;break;/?找出的笫4個(gè)因子賦給k4*/case5:k5二i;break;/?找出的笫5個(gè)因子賦給k5*/case6:k6=i;break;/?找出的第6個(gè)因子賦給k6*/case7:k7=i;break;/?找出的笫フ個(gè)因子賦給k7*/case8:k8=i;break;/?找出的第8個(gè)因子賦給k8*/case9:k9=i;break;/?找出的第9個(gè)因子賦給k9*/case10:kl0=i;break;/?找出的笫10個(gè)因子賦給klO*/if(s==0)(printf('f%d,Itsfactorsare*',a);/*n>l表示a至/*n>l表示a至少有2個(gè)因子ラ/*n>2表示至少有3個(gè)因子,故應(yīng)再輸出ー個(gè)/*n>3表示至少有4個(gè)因子,故應(yīng)再輸出ー個(gè)/*以下類(lèi)似?/if(n>2)printf(",%dH,k3);因子?/if(n>3)printf(';%d,,,k4);因子ラif(n>4)prinlf(",%d",k5);if(n>5)printf(u,%dn,k6);if(n>6)printf(",%dM,k7);if(n>7)printf(';%dM,k8);if(n>8)printf(\%dM,k9);if(n>9)printf(';%dH,klO);printfCAn1');return0;5-9-2#include<stdio.h>intmain(){intm,s,i;for(m=2;m<1000;m++){s=0;for(i=l;i<m;i++)if((m%i)==0)s=s+i;if(s==m){printf(H%d,itsfactorsare'm);for(i=l;i<m;i++)if(m%i==0)printf(H%dn,i);printf(n\n,');)}return0;5-10#include<stdio.h>intmain()(inti,n=20;doublea=2,b=l,s=0,t;for(i=l;i<=n;i++)(s=s+a/b;t=a,a=a+b,b=t;}printf(',sum=%16.1Of\n'\s);return0;5-11#include<stdio.h>intmain()(doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++)(sn=sn+2*hn;/*第n次落地時(shí)共經(jīng)過(guò)的米數(shù)?/hn=hn/2;/*第n次反跳高度?/)printf("第10次落地時(shí)共經(jīng)過(guò)%f米\1Iセ!1);printf("第10次反彈%£米\n\hn);return0;}5-12#include<stdio.h>intmain(){intday,xl,x2;day=9;x2=l;while(day>0){xl=(x2+l)*2; /*第1天的桃子數(shù)是第2天桃子數(shù)加1后的2倍.*/x2=xl;day—;)printf("total=%d\n'\x1);return0;15-13#include<stdio.h>#include<math.h>intmain()(floata,x0,xl;printf("enterapositivenumber:H);scanf(n%f',&a);x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;xl=(xO+a/xO)/2;}while(fabs(xO-xl)>=le-5);printf("Thesquarerootof%5.2fis%8.5f\n'\a,x1);return0;)5-14#include<stdio.h>#include<math.h>intmain(){doublexl,xO,f,fl;xl=1.5;do{xO=xl;f=((2*x0-4)*x0+3)*x0-6;fl=(6*x0-8)*x0+3;xl=xO-f/fl;}while(fabs(xl-xO)>=le-5);printf(nTherootofequationis%5.2f\nM,xl);return0;}5-15#include<stdio.h>#include<math.h>intmain(){floatx0,xl,x2,fx0,fxl,fx2;do{printf("enterxl&x2:M);scanf(H%f,%r,&xI,&x2);fxl=xl*((2*xl-4)*xl+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;}while(fx1*fx2>0);do{x0=(xl+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;if((fx0*fxl)<0){x2=x0;fx2=fx0;)else{xl=x0;fxl=fx0;}}while(fabs(fx0)>=le-5);printf(nx=%6.2f\nn,x0);return0;5-16#include<stdio.h>intmain(){inti,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(い);for(k=0;k<=2*i;k++)printf(H*n);printf(',\nn);}for(i=0;i<=2;i++){for(j=O;j<=i;j++)printf(MH);for(k=0;k<=4-2*i;k++)printf(H*n);printf(,,\nn);}return0;}5-17#include<stdio.h>intmain()(chari,j,k; /*是a的對(duì)手;j是b的對(duì)手;k是c的對(duì)手?/for(i='x,;i<='z,;i++)for(j='x,;j<=,z,;j++)if(i!=j)for(k=,x,;k<='z,;k++)if(i!=k&&j!=k)if(i!=,x'&&k!=,x,&&k!='z')printf(nA-%c\nB-%c\nC-%c\nM,i,j,k);return0;)第6章利用數(shù)組處理批量數(shù)據(jù)142怎樣定義和引用ー維數(shù)組142怎樣定義ー維數(shù)組143怎樣引用ー維數(shù)組元素144ー維數(shù)組的初始化145一維數(shù)組程序舉例146怎樣定義和引用二維數(shù)組148怎樣定義二維數(shù)組149怎樣引用二維數(shù)組的元素150二維數(shù)組的初始化151二維數(shù)組程序舉例152字符數(shù)組154怎樣定義字符數(shù)組154字符數(shù)組的初始化155怎樣引用字符數(shù)組中的元素155字符串和字符串結(jié)束標(biāo)志156字符數(shù)組的輸入輸出159使用字符串處理函數(shù)161字符數(shù)組應(yīng)用舉例165習(xí)題1686-1#include<stdio.h>#include<math.h>intmain(){inti,j,n,a[101];for(i=1;i<=100;i++)a[i]=i;a[l]=0;for(i=2;i<sqrt(100);i++)for(j=i+1;j<=100;j++){if(a[i]!=0&&a|j]!=0)if(a|j]%a[iJ==0)a[j]=0;)printf(“也”);for(i=2,n=0;i<=100;i++){if(a[i]!=0){printf(H%5dH,a[i]);n++;)if(n==10){printf(M\nM);n=0;1printf("\n");return0;6-2#include<stdio.h>intmain(){inti,j,min,temp,a[l1];printf(Menterdata:\nH);for(i=l;i<=10;i++){printf(Ma[%d]=H,i);scanf("%d”,&a[i]);)printf("\n");printf("Theorginalnumbers:\nn);for(i=l;i<=10;i++)printf(M%5dn,a[i]);prinlf(ヽ”);for(i=l;i<=9;i++){min=i;for(j=i+1;j<=10;j++)if(a[min]>a[j])min=j;temp=a[i];a[i]=a[min];a[min]=temp;}printf("\nThesortednumbers:\nn);for(i=l;i<=10;i++)printf("%5d”,a[i]);printf(M\nM);return0;)6-3#include<stdio.h>intmain()(inta[3][3],sum=0;inti,j;printf('*enterdata:\nH);for(i=0;i<3;i++)for(j=0;j<3;j++)scanf(n%3d'\&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf(',sum=%6d\n,',sum);return0;6-4#include<stdio.h>intmain(){inta[ll]={1,4,6,9,13,16,19,28,40,100};inttempl,temp2,number,end,i,j;printf(narraya:\n");for(i=0;i<10;i++)printf(n%5dn,a[i]);printf(M\nn);printf("insertdata:1');scanf(M%dn,&number);end=a[9];if(number>end)a[10]=number;else{for(i=0;i<10;i++){if(a[i]>number){templ=a[i];a[i]=number;for(j=i+l;j<ll;j++){temp2=a[j];a|jj=templ;templ=temp2;)break;)}}printf("Nowarraya:\nM);for(i=0;i<ll;i++)printf(“%5d”,a[i]);printf(M\nM);return0;6-5#include<stdio.h>#defineN5intmain(){inta[N],i,temp;printf(Menterarraya:\nM);for(i=O;i<N;i++)scanf(”%d”,&a[i]);printf(Marraya:\rT);for(i=O;i<N;i++)printf('f%4d',,a[i]);for(i=0;i<N/2;i++) 〃循環(huán)的作用是將對(duì)稱(chēng)的元素的值互換{temp=a[i];a[i]=a[N-i-l];a[N-i-l]=temp;}printf("\nNow,arraya:\n");for(i=O;i<N;i++)printf(',%4d',,a[i]);primf(“用");return0;6-6#include<stdio.h>#defineN10intmain(){inti,j,a[N][N];for(i=0;i<N;i++){a[i][i]=l;aliJ[0]=l;}for(i=2;i<N;i++)for(j=l;j<=i-l;j++)a[i][j]=a[i-l]U-l]+a[i-l][j];for(i=0;i<N;i++){for(j=O;j<=i;j++)printf(“%6d”,a[i皿);printf(”、ガ);)printf(”\n”);return0;6-7#include<stdio.h>intmain(){inta[15][15],i,j,k,p,n;p=l;while(p==l){printf("entern(n=l-15):");scanf("%d",&n);if((n!=O)&&(n<=15)&&(n%2!=0))p=0;}for(i=l;i<=n;i++)for(j=l;j<=n;j++)a[i][j]=O;j=n/2+l;a[l][j]=l;for

溫馨提示

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