1、程序设计基础实验与习题参考答案(最终版)2015 年 12 月 16 日注:未经全面测试,仅供参考,发现错误,请及时修正!目录第二章 .1第三章 .3第四章 .7第五章 .16第六章 .22第七章 .45第八章 .70第九章 .82第十章 .84第十一章 .90第十二章 .96第十三章 .98程序设计基础 参考答案 1第二章2.2 用赋值表达式表示下列计算。(1) cbaxy(2) 2/562)(lned(3) cossiXay(4) 321R(5) 23)4(753xxy(1)y=pow (x,(a+pow(b,c ) ) )(2)x=pow (log(sqrt(a+d*d ) )-exp(
2、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.h“void main()char cIn;scanf(“%c“,if(cIn33int a,b,c;printf(“Input a Number:“);scanf(“%d“,a
3、=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 ,计算程序设计基础 参考答案 4#include“stdio.h“#include“math.h“void main()float x,y,z;printf(“输入两个数“);scanf(“%f%f“,if(x0 if(x0)printf(“%fn“,sin(
4、x)+sin(y); if(x0float p=1.0, sum=1.0, x;printf(“输入 x 的值n“);scanf(“%f“, for(i=1;i#define esp 1e-8void main(void)int i;float p=1.0, sum=1.0, x;printf(“输入 x 的值n“);scanf(“%f“, for(i=1;fabs(p)=esp;i+)p=p*x/i;sum+=p;printf(“到余项小于 10-8 的结果为:%fn“,sum);4.13 编写程序,打印所有小于 100 的可以被 11 整除的自然数。#include“stdio.h“voi
5、d main()int i=0,n=100;for(i=1;ivoid main(void)int a,b,c,k=100;while(k999)a=k/100;b=(k-100*a)/10;c=k%10;if(k=a*a*a+b*b*b+c*c*c)printf(“结果是:%dn“,k);k+;4.19 编程序,打印下图形式的数字金字塔。参考答案:#include “stdio.h“void main()int i,j,k,l;for (i=1;i=10;i+)for(j=1;j=10-i;j+)printf(“ “);for(k=1;k=i;k+)if ( k=10) / 或者是 printf(“%2d“,k%10)printf(“%2d“,k-10);11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 1 1 2 3 4 5 6 7 8 9 0 9 8 7 6 5 4 3 2 1