资源预览内容
第1页 / 共110页
第2页 / 共110页
第3页 / 共110页
第4页 / 共110页
第5页 / 共110页
第6页 / 共110页
第7页 / 共110页
第8页 / 共110页
第9页 / 共110页
第10页 / 共110页
亲,该文档总共110页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
程序设计基础实验与习题参考答案(最终版)2016年12月14日注:未经全面测试,仅供参考,发现错误,请及时修正!目录第二章1第三章3第四章7第五章16第六章22第七章45第八章70第九章82第十章84第十一章90第十二章96第十三章98程序设计基础 参考答案 第二章2.2用赋值表达式表示下列计算。注意整数除法,改善为1.0*x(1) (2)(3)(4)(5)(1)y=pow(x,(a+pow(b,c)(2)x=pow(log(sqrt(a+d*d)-exp(26),5.0/2.0)(3)y=sin(X)/(a*X)+fabs(cos(3.14159265*X/2.0)(4)R=1.0/(1.0/R1+1.0/R2+1.0/R3)(5)y=x/(1+x/(3+(2*x*2*x)/(5+pow(2*x,3)/(7+4*x*4*x)2.3编程序,输入一个字符,然后顺序输出该字符的前驱字符、该字符本身、它的后继字符。#include stdio.hvoid main()char cIn;scanf(%c,&cIn);if(cIn33&cIn=a)&(c1=A)&(c1=Z)/考虑问题要全面,如果输入的是大写字母就直接输出。 printf(%cn,c1); else printf(输入的不是字母!n); 3.9编写程序,判断给定的3位数是否为Armstrong数,Armstrong数是指其值等于它本身每位数字立方和的数,如153就是一个Armstrong数。 153=13+53+33#includevoid main(void)int InData;int a,b,c;printf(Input a Number:);scanf(%d,&InData);a=InData/100;b=(InData-100*a)/10;c=InData%10;if(InData=a*a*a+b*b*b+c*c*c)printf(%d是Armstrong数n,InData);elseprintf(%d不是Armstrong数n,InData);3.10 编写程序,读入一个点的坐标X,Y,计算#includestdio.h#includemath.hvoid main()float x,y,z;printf(输入两个数); scanf(%f%f,&x,&y);if(x0&y0)/x,y轴上的点不属于任何一个象限 printf(%fn,log(x)+log(y); if(x0) printf(%fn,sin(x)+sin(y); if(x0&y0&y0) printf(%fn,tan(x+y); 3.11 编程序,输入一个整数,判断它能否被3 、5 、7整除,并输出如下信息。(1)能同时被3 、5 、7整除;(2)能同时被两个数整除,并指明是被哪两个数整除;(3)能被一个数整除,并指明是哪个数;(4)不能被所有3个数整除。#include stdio.hvoid main () int n; int a,b,c; printf(please input n:); scanf(%d,&n); a=b=c=0; if (n%3=0) a=1; if (n%5=0) b=1; if (n%7=0) c=1; switch (a+b+c)case 3:printf(3,5,7);break;case 2:if (a=0) printf(5,7);if (b=0) printf(3,7);if (c=0) printf(3,5); break;case 1:if (a=1) printf(only 3);if (b=1) printf(only 5);if (c=1) printf(only 7); break;default:printf(never can be!); 3.20 编程序,当输入数值月份时,显示相应英文月份名称。例如当输入1时输出January ,当输入5时输出May ,等等。参考答案:#include stdio.hvoid main()int x;printf(Please input the number:);scanf(%d,&x);switch(x)case 1: printf(JANn); break;case 2: printf(FEBn); break;case 3:printf(MARn); break;case 4:printf(APRn); break;case 5:printf(MAYn); break;case 6:printf(JUNn); break;case 7:printf(JULn); break;case 8:printf(AUGn); break;case 9:printf(SEPn); break;case 10:printf(OCTn); break;case 11:printf(NOVn); break;case 12:printf(DECn); break;default: printf(Wrong number!n);第四章4.3利用展开式计算 ex , 到第 100 项; 到余项小于10-8 ( 考虑当 0x1 ; x1 时各应该如何计算)。#includevoid main(void)int i;float p=1.0, sum=1.0, x;printf(输入x的值n);scanf(%f, &x);for(i=1;i=100;i+)p=p*x/i;sum+=p;printf(到第100项的结果为:%fn,sum);到余项小于10-8#include#define esp 1e-8void main(void)int i;float p=1.0, sum=1.0, x;printf(输入x的值n);scanf(%f, &x);for(i=1;fabs(p)=esp;i+)/要先判断出它是递增的还是递减的p=p*x/i;sum+=p;printf(到余项小于10-8的结果为:%fn,sum);4.13 编写程序,打印所有小于100的可以被11整除的自然数。#includestdio.hvoid main()int i=0,n=100;for(i=1;i100;i+)if(i%11=0)printf(%dn,i);4.16编写程序,打印所有3位的Armstrong数。Armstrong数是指其值等于它本身每位数字立方和的数,如153就是一个Armstrong数。 153=13+53+33#includevoid main(void)int a,b,c,k=100;while(k999)/
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号