C语言程序设计(谭浩强)第四版_课后答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第5章循环结构程序设计【第140页】5-2#includestdio.h#includemath.h//程序中用到数学函数fabs,应包含头文件math.nintmain(){intsign=1,count=0;//sign用来表示数值的符号,count用来统计循环次数doublepi=0.0,n=1.0,term=1.0;//pi开始代表多项式的值,最后代表π的值,n代表分母,term代表当前项的值while(fabs(term)=1e-8)//检查当前项term的绝对值是否大于或等于10的(-6)次方{pi=pi+term;//把当前项term累加到pi中n=n+2;//n+2是下一项的分母sign=-sign;//sign代表符号,下一项的符号与上一项符号相反term=sign/n;//求出下一项的值termcount++;//count累加1}pi=pi*4;//多项式的和pi乘以4,才是π的近似值printf(pi=%10.8f\n,pi);//输出π的近似值printf(count=%d\n,count);//输出循环次数return0;}5-3#includestdio.hintmain(){intp,r,n,m,temp;printf(请输入两个正整数n,m:);scanf(%d,%d,,&n,&m);if(nm){temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf(它们的最大公约数为:%d\n,n);printf(它们的最小公约数为:%d\n,p/n);return0;}5-4#includestdio.hintmain(){charc;intletters=0,space=0,digit=0,other=0;printf(请输入一行字符:\n);while((c=getchar())!='\n'){if(c='a'&&c='z'||c='A'&&c='Z')letters++;elseif(c=='')space++;elseif(c='0'&&c='9')digit++;elseother++;}printf(字母数:%d\n空格数:%d\n数字数:%d\n其它字符数:%d\n,letters,space,digit,other);return0;}5-5#includestdio.hintmain(){inta,n,i=1,sn=0,tn=0;printf(a,n=:);scanf(%d,%d,&a,&n);while(i=n){tn=tn+a;/*赋值后的tn为i个a组成数的值*/sn=sn+tn;/*赋值后的sn为多项式前i项之和*/a=a*10;++i;}printf(a+aa+aaa+...=%d\n,sn);return0;}5-6#includestdio.hintmain(){doubles=0,t=1;intn;for(n=1;n=20;n++){t=t*n;s=s+t;}printf(1!+2!+...+20!=%22.15e\n,s);return0;}5-7#includestdio.hintmain(){intn1=100,n2=50,n3=10;doublek,s1=0,s2=0,s3=0;for(k=1;k=n1;k++)/*计算1到100的和*/{s1=s1+k;}for(k=1;k=n2;k++)/*计算1到50各数的平方和*/{s2=s2+k*k;}for(k=1;k=n3;k++)/*计算1到10的各倒数和*/{s3=s3+1/k;}printf(sum=%15.6f\n,s1+s2+s3);return0;}5-8#includestdio.hintmain(){inti,j,k,n;printf(parcissusnumbersare);for(n=100;n1000;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;}5-9-1#defineM1000/*定义寻找范围*/#includestdio.hintmain(){intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;inti,a,n,s;for(a=2;a=M;a++)/*a是2-1000之间的整数,检查它是否完数*/{n=0;/*n用来累计a的因子的个数*/s=a;/*s用来存放尚未求出的因子之和,开始时等于a*/for(i=1;ia;i++)/*检查i是否a的因子*/if(a%i==0)/*如果i是a的因子*/{n++;/*n加1,表示新找到一个因子*/s=s-i;/*s减去已找到的因子,s的新值是尚未求出的因子之和*/switch(n)/*将找到的因子赋给k1...k9,或k10*/{case1:k1=i;break;/*找出的笫1个因子赋给k1*/case2:k2=i;break;/*找出的笫2个因子赋给k2*/case3:k3=i;break;/*找出的笫3个因子赋给k3*/case4:k4=i;break;/*找出的笫4个因子赋给k4*/case5:k5=i;break;/*找出的笫5个因子赋给k5*/case6:k6=i;break;/*找出的笫6个因子赋给k6*/case7:k7=i;break;/*找出的笫7个因子赋给k7*/case8:k8=i;break;/*找出的笫8个因子赋给k8*/case9:k9=i;break;/*找出的笫9个因子赋给k9*/case10:k10=i;break;/*找出的笫10个因子赋给k10*/}}if(s==0){printf(%d,Itsfactorsare,a);if(n1)printf(%d,%d,k1,k2);/*n1表示a至少有2个因子*/if(n2)printf(,%d,k3);/*n2表示至少有3个因子,故应再输出一个因子*/if(n3)printf(,%d,k4);/*n3表示至少有4个因子,故应再输出一个因子*/if(n4)printf(,%d,k5);/*以下类似*/if(n5)printf(,%d,k6);if(n6)printf(,%d,k7);if(n7)printf(,%d,k8);if(n8)printf(,%d,k9);if(n9)printf(,%d,k10);printf(\n);}}return0;}5-9-2#includestdio.hintmain(){intm,s,i;for(m=2;m1000;m++){s=0;for(i=1;im;i++)if((m%i)==0)s=s+i;if(s==m){printf(%d,itsfactorsare,m);for(i=1;im;i++)if(m%i==0)printf(%d,i);printf(\n);}}return0;}5-10#includestdio.hintmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i=n;i++){s=s+a/b;t=a,a=a+b,b=t;}printf(sum=%16.10f\n,s);return0;}5-11#includestdio.hintmain(){doublesn=100,hn=sn/2;intn;for(n=2;n=10;n++){sn=sn+2*hn;/*第n次落地时共经过的米数*/hn=hn/2;/*第n次反跳高度*/}printf(第10次落地时共经过%f米\n,sn);printf(第10次反弹%f米\n,hn);return0;}5-12#includestdio.hintmain(){intday,x1,x2;day=9;x2=1;while(day0){x1=(x2+1)*2;/*第1天的桃子数是第2天桃子数加1后的2倍.*/x2=x1;day--;}printf(total=%d\n,x1);return0;}5-13#includestdio.h#includemath.hintmain(){floata,x0,x1;printf(enterapositivenumber:);scanf(%f,&a);x0=a/2;x1=(x0+a/x0)/2;do{x0=x1;x1=(x0+a/x0)/2;}while(fabs(x0-x1)=1e-5);printf(Thesquarerootof%5.2fis%8.5f\n,a,x1);return0;}5-14#includestdio.h#includemath.hintmain(){doublex1,x0,f,f1;x1=1.5;do{x0=x1;f=((2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x1=x0-f/f1;}while(fabs(x1-x0)=1e-5);printf(Therootofequationis%5.2f\n,x1);return0;}5-15#includestdio.h#includemath.hintmain(){floatx0,x1,x2,fx0,fx1,fx2;do{printf(enterx1&x2:);scanf(%f,%f,&x1,&x2);fx1=x1*((2*x1-4)*x1+3)-6;fx2=x2*((2*x2-4)*x2+3)-6;}while(fx1*fx20);do{x0=(x1+x2)/2;fx0=x0*((2*x0-4)*x0+3)-6;if((fx0*fx1)0){x2=x0;fx2=fx0;}else{x1=x0;fx1=fx0;}}while(fabs(fx0)=1e-5);printf(x=%6.2f\n,x0);return0;}5-16#includestdio.hintmain(){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(*);printf(\n);}for(i=0;i=2;i++){for(j=0;j=i;j++)printf();for(k=0;k=4-2*i;k++)printf(*);printf(\n);}return0;}5-17#includestdio.hintmain(){chari,j,k;/*是a的对手;j是b的对手;k是c的对手*/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(A--%c\nB--%c\nC--%c\n,i,j,k);return0;}第6章利用数组处理批量数据【第168页】6-1#includestdio.h#includemath.hintmain(){inti,j,n,a[101];for(i=1;i=100;i++)a[i]=i;a[1]=0;for(i=2;isqrt(100);i++)for(j=i+1;j=100;j++){if(a[i]!=0&&a[j]!=0)if(a[j]%a[i]==0)a[j]=0;}printf(\n);for(i=2,n=0;i=100;i++){if(a[i]!=0){printf(%5d,a[i]);n++;}if(n==10){printf(\n);n=0;}}printf(\n);return0;}6-2#includestdio.hintmain(){inti,j,min,temp,a[11];prin

1 / 95
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功