《自学考试《C语言程序设计》习题及答案汇总.pdf》由会员分享,可在线阅读,更多相关《自学考试《C语言程序设计》习题及答案汇总.pdf(142页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自学考试C语言程序设计习题及答案汇总编写程序题及参考答案导读:虽然题目基本按照教材章节顺序排列的,但是把同类题目尽量排在一起,便于读者学习掌握编程方法和思路,提高自己的编程能力。【4.1 已知银行整存整取存款不同期限的月息利率分别为:0.3 1 5%期限一年0.3 3 0%期限二年月息利率=0.3 4 5%期限三年0.3 7 5%期限五年0.4 2 0%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。【4.2】输入年份year和月m o n t h,求该月有多少天。判断是 否 为 闰 年,可 用 如 下C语 言 表 达 式:year%4=0&year _ x0 0 1
2、 0 _ 0!=0|year 0-0o若表达式成立(即表达式值为1),则year为闰年;否则,表达式不成立(即值为0),year为平年。4.3 编写一个简单计算器程序,输入格式为:d at al o pd at a2。其 中d at al和d at a2是参加运算的两个数,o p为运算符,它的取值只能是+、-、*、/o【4.4】输入n值,输出如图所示矩形。s e s c s e s s:图 4.1 于6 时的矩形*【心】输入B值.翰出如图所示平行四边探*图 4,2*6 时的平行四边形【46】输入n值.验出如图所示高为n的黜三角峰.*图 4.3 n=6时的等硬三角形【47】输入n值.吟 出iIS
3、所示起为n的等眼三角落.*聿*图 4.4 n=6时 的 倒 辆 三 角 形U 8域入n值.物出i10所示音和上厩均为n的等嵌悌珞*图 4.5 归5时的等腰梯形14 9输入!1值.给出如图所示起和上周均为n的 黜 空 心 梯 澳*图 4.6 n=5时的空心等膜梯形 4.1参考答案:t t i n cl ud em ai n()i n t year;f l o at m o n ey,r at e,t o t al;/*m o n ey:本金 r at e:月利率t o t al:本利合计*/p r i n t f(I n p ut m o n ey an d year =?);s can f (
4、%f%d ,&m o n ey,&year);/*输入本金和存款年限*/i f (year 1)r at e=0.0 0 3 1 5;/*根据年限确定利率*/el s e i f(year=2)r at e=0.0 0 3 3 0;el s e i f(year=3)r at e=0.0 0 3 4 5;el s e i f(year=5)r at e=0.0 0 3 7 5;el s e i f(year=8)r at e=0.0 0 4 2 0;el s e r at e=0.0;t o t al=m o n ey+m o n ey*r at e*1 2 *year;/*计算至期的本利合计
5、*/p r i n t f(T o t al =%.2 f n ,t o t al);)4.2 参考答案:i n cl ud em ai n()i n t year,m o n t h,d ays;p r i n t f(En t er year an d m o n t h:);s can f(%d%d ,&year,&m o n t h);s wi t ch (m o n t h)cas e 1:cas e 3:cas e 5:cas e 7:cas e 8:cas e 1 0:cas e1 2:d ays=3 1;b r eak;/*处理 大 月*/cas e 4:cas e 6:cas
6、 e 9:cas e 1 1:d ays=3 0;b r eak;/*处理 小 月*/cas e 2:i f(year%4=0&year%1 0 0!=0|year%4 0 0=0)d ays=2 9;/*处理闰年平月*/el s e d ays=2 8;/*处理不是闰年平月*/b r eak;d ef aul t:p r i n t f (nI n p ut er r o r!nn);/*月份错误*/d ays=0;)i f(d ays!=0 )p r i n t f(%d,%d i s%d d ays n ,year,m o n t h,d ays);)【4.3】参考答案:#i n cl
7、ud em ai n ()f l o at d at al,d at a2;/*定义两个操作数变量*/ch ar o p;/*操作符*/p r i n t f(En t er yo ur exp r es s i o n:w);s can f (1%f%c%fn,&d at al,&o p,&d at a2);/*输入表达式s wi t ch (o p)/*根据操作符分别进行处理*/cas e +:/处理加法*/p r i n t f(n%.2 f+%.2 f=%.2 f n ,d at al,d at a2,d at al+d at a2);b r eak;cas e:/*处理减法*/p r
8、 i n t f(n%.2 f-%.2 f=%.2 f nn,d at al,d at a2,d at al-d at a2);b r eak;cas e:/*处理乘法*/p r i n t f (吗.2 f*%.2 f=%.2 f n d at al,d at a2,d at al*d at a2);b r eak;cas e /:/*处理除法*/i f (d at a2=0 )/*若除数为 0 */p r i n t f(Di vi s i o n b y zer o.n );el s ep r i n t f (吗.2 f/%.2 f=%.2 f n ,d at al,d at a2,d
9、 at al/d at a2);b r eak;d ef aul t:/*输入了其它运算符*/p r i n t f(U n k n o wn o p er at er.n );)【4.4】分析:打印此图形用两重循环实现。图形要重复n 行,故采用循环结构实现循环n 次,循环体内部打印一行*号,把上述思路表示为:f o r(i=l;i =n;i+)打 印 一 行 号;每行有n个*号,再采用循环结构实现n次循环,循环内部用格式输出语句打印一个号,即:f o r(j=l;j =n;j+)p r i n t f(*);按照上述思路,实现打印矩形。参考答案:m a i n ()i n t i,j,n;p
10、 r i n t f(n Pl e a se En t e r n:n);sc a n f(%d ,&n);f o r (i=l;i =n;i+)f o r(j=l;j =n;j+)p r i n t f(*);p r i n t f(n nn);)4.5)分析:此图形和上题的区别在于在每一行先要打印空格,然后再打印n个号,在上题第一层循环体内打印号的循环前面增加一个循环打印空格。每行空格的个数是逐行减少的,由于第一层循环的控制变量i 是逐行增1,所以用一个固定值的数减去i 就可实现对空格个数的控制,在此题中固定值可使用变量n。参考答案:m a i n()i n t i,j,n;p r i n
11、 t f(n Pl e a se En t e r n:);sc a n f(n%dn,&n);f o r (i=l;i =n;i+)f o r(j=l;j =n-i;j+)p r i n t f(n );f o r(j=l;j =n;j+)p r i n t f();p r i n t f(X n );)【4.6】分析:此题和上题的区别在于每行的数量逐行减少,可以使用上题控制空格个数的思路来控制号的个数,请注意每行*的个数都是奇数。参考答案:m a i n()i n t i,j,n;p r i n t f(n n Pl e a se En t e r n:);sc a n f(%d ,&n)
12、;f o r (i=l;i =n;i+)f o r(j=l;j =n-i;j+)p r i n t f(n);f o r (j=l;j =2*i-l;j+)p r i n t f(*);p r i n t f(X n );)4.71 分析:此题图形是第3题图形的垂直反转,在编程上我们可以变换一个思路。对于图形中的第i 行(l W i W n),共需要输出2 n-i 个字符,其中前面的i-1 个字符为空格,后面的字 符 为 号。按照这一思路可以编写出如下程序。参考答案:m a i n()i n t i,j,n;p r i n t f(n Pl e a se En t e r n:);sc a n
13、 f(n%dn,&n);f o r(i=l;i =n;i+)/*重复输出图形的n行*/f o r(j=l;j =2*n-i;j+)/*重复输出图形一行中的每个字符*/i f(j =i-l)p r i n t f();/*输出前面的空格*/e l se p r i n t f(*);/*输出后面的*号*/p r i n t f(X n );)【4.8】分析:此题和第3 题的区别仅是每行的个数增加n-l 个。参考答案:m a i n()i n t i,j,n;p r i n t f(n n Pl e a se En t e r n:n);sc a n f(%d ,&n);f o r (i=l;i
14、=n;i+)f o r(j=l;j =n-i;j+)p r i n t f();f o r(j=l;j =2*i-l+(n-l);j+)p r i n t f(*);p r i n t f(nf f);)4.9 分析:对于空心图形,我们可以在上题的基础上,对于打印号的循环进行修改,仅在循环开始值(j=l)和循环结束值(j=2*(i-l)+n)时 打 印 号,其它位置都打印空格。另一种思路是将每行打印的空格和的两个循环合为一体考虑,在判断出需要打印的两个位置及第一行和最后一行相应位置外,其余位置都打印空格。参考答案:m a i n()i n t i,j,n;p r i n t f(n n Pl
15、e a se En t e r n:n);sc a n f(%d ,&n);f o r (i=l;i =n;i+)f o r(j=l;j n-i+l&(i=l|i=n)p r i n t f(*);e l se p r i n t f();p r i n t f(*n );)【4.1 0】分析:此图形可以理解为两个空心梯形反向连接而成,因此可以利用上题的思路进行输出。参考答案:m a i n()i n t i,j,n;p r i n t f(n n Pl e a se En t e r n:n);sc a n f(%d ,&n);f o r(i=l;i =n;i+)/*输出图形的上半部分(含中
16、心行)*/f o r(j=l;j =2*n-i-l ;j+)i f(j=i)p r i n t f();e l se p r i n t f (n 1);p r i n t f (n*n );)f o r(i=l;i n;i+)p=*=f o r(j=l;j =n+i;j+)i f(j=n-i)p r i n t f(*);e l se p r i n t f(n );p r i n t f(*n );)4.1 1 分析:此题与上题的区别在于打印号的位置不同,编程时要找出应打印号的位置和两个循环变量i、j以及行数n的关系。参考答案:m a i n()i n t i,j,n;p r i n t
17、f(n n Pl e a se En t e r n:n);sc a n f&n);f o r(i=l;i =n;i+)/输出图形的上半部分(含中心行)*/f o r(j=l;j n-i+l&i=l)p r i n t f(n*n);e l se p r i n t f (n 1);p r i n t f (*n );)f o r(i=l;i n;i+)p=*=f o r(j=l;j i+l&i=n-l)p r i n t f(n*n);e l se p r i n t f();p r i n t f(n*nn);)4.1 2 参考答案:m a i n()i n t i,j,n;p r i n
18、 t f(n n Pl e a se En t e r n:n);sc a n f(n%dn,&n);f o r (i=l;i =n;i+)f o r(j=l;j =n;j+)i f(j=n-i+l|i=l|i=n)p r i n t f(n*n);e l se p r i n t f();p r i n t f(X n );)4.1 3 参考答案:m a i n()i n t i,j,n;p r i n t f(n n Pl e a se En t e r n:);sc a n f(n%dn,&n);f o r(i=l;i =n;i+)/输出图形的上半部分(含中心行)*/f o r(j=l;
19、j =n-i;j+)i f(j=l I I j=n-i+l)p r i n t f(*);e l se p r i n t f (1 );p r i n t f (X n );)f o r(i=l;i for(j=l;j=i+l;j+)if(j=l I I j=i+D printf(n*n);else printf(n);printf(Xn);)4.14 参考答案:main()int i,j,n;printf(nPlease Enter n:1);scanf(%d,&n);for(i=l;i=n;i+)for(j=l;j=n;j+)if(j=l I I j=i I I j=n)printf(D
20、;else printf(n n);printf(Xn);)4.15 参考答案:main()int i,j,n;p r i n t f(n Pl e a se En t e r n:);sc a n f(n%dn,&n);f o r(i=l;i =n;i+)f o r(j=l;j n-i)p r i n t f(*);e l se p r i n t f();p r i n t f(X n );)f o r(i=l;i n;i+)f o r(j=l;j =2*n-i-l;j+)p r i n t f(*);e l se p r i n t f(n);p r i n t f(X n );)4.1
21、 6 参考答案:m a i n()i n t i,j,n;p r i n t f(n Pl e a se En t e r n:);sc a n f(%dw,&n);f o r (i=l;i =n;i+)f o r(j=l;j =n+i-2;j+)i f(j=n-i+l)p r i n t f(*);e l se p r i n t f(n n);p r i n t f(f f*n );)【4.1 7】分析:首先对图形进行设计,坐标的X轴和Y轴分别对应屏幕的列和行,一个正弦函数的周期为03 60 度,我们把一个步长定义为1 0 度,打印时每换一行等于函数的自变量增加 1 0 度;屏幕的列宽为8
22、0,函数值为0 对应屏幕的第4 0 歹 U,si n(x)的值在-11,变换成列数为以。为中心的-3 03 0,对应屏幕上第 1 070 列。设计程序时,控制换行的自变量i 乘以1 0 得到正弦函数的X值,调用库函数si n()求出函数值再乘以3 0 输出的列宽,因为我们以屏幕的第4 0 列为0点,故再加上4 0 得到应在屏幕上显示的点。参考答案:d e f i ne PAI 3.1 4 1 5 9 i nc l u d em ai n()d ou b l e x;i nt y,i,y y;f or (i=l;i 80;i+)/*打印图形的第一行/i f (i=4 0)p r i nt f (
23、);/*i 控制打印的列位置*/e l s ep r i nt f (n-n);p r i nt f(n);f or (x=1 0.0;x y?4 0:y;/*下一行要打印的字符总数*/f or (i=l;i =-1 0;y)/*圆的半径为 1 0*/m =2.5 *s q r t (1 00-y*y);/*计算行y 对应的列坐标m*/f or (x=l;x 3 0-m;x+)p r i nt f();/*输出圆左侧的空白*/p r i nt f (*n);/*输出圆的左侧*/f or (;x 3 0+m;x+)p r i nt f (n n);/*输出圆的空心部分*/p r i nt f (
24、*n);/*输出圆的右侧*/)4.1 9 参考答案:i nc l u d e#i nc l u d em ai n()d ou b l e y;i nt x,m,n,y y;f or (y y=0;y y =2 0;y y+)y =0.l*y y;m =ac os(l-y)*1 0;n=4 5 *(y-l)+3 1;f or (x=0;x =62;x+)i f(x=m&x=n)p r i nt f(+);e l s e i f (x=n)p r i nt f(+);e l s e i f(x=m|x=62-m)p r i nt f(*);e l s e p r i nt f(n);p r i
25、nt f(n nn);)【4.2 0】分析:编程的关键为两点,一是使用控制输出的行和列,这方面的内容在前面已经叙述,另一点是输出的数字和所在行、列关系。此题第一行输出的数字恰好是列数,从第二行起每行的数字均比上一行增n。参考答案:m ai n()i nt i,j,n;p r i nt f(n nPl e as e E nt e r n:);s c anf(%d,&n);f or (i=l;i =n;i+)f or(j=l;j =n;j+)p r i nt f(n%4 dn,(i-l)*n+j);p r i nt f(X n);)【4.2 1】分析:此题的关键是找到输出数字和行、列数的关系。审查
26、图形中每行中数字的关系发现,右边数字和前面数字之差逐次增1;同列数字依然是这样的关系,编程的关键转换为找到每一行左方的第一个数字,然后利用行和列的循环变量进行运算就可得到每个位置的数字。用 ai,j 此表示第i 行第j 列的数字,则 al l=l;由第i 行第一列的数字推出第i+1 行第一列的数字 是 ai+1,1 =ai,l+i;同样由第j列推出第j+1 列的数字是ai,j+l =ai,j+i+j o另外只有当j i 时才输出数字。参考答案:m ai n()i nt i,j,m,n,k=l;/*k 是第一列元素的值*/p r i nt f(Pl e as e e nt e r m=);s c
27、 anf(%d,&m);f or (i=l;i =m;i+)n=k;/*n 第 i 行中第1 个元素的值*/f or(j=l;j =m-i+l;j+)p r i nt f(%3 d,n);n=n+i+j;/计算同行下一个元素的值*/)p r i nt f (X n);k=k+i;/*计算下一行中第1 个元素*/)【4.2 2 参考答案:m ai n()i nt i,j,n;p r i nt f(n nPl e as e E nt e r n:);s c anf(%d,&n);f or (i=l;i =n;i+)f or(j=l;j =n;j+)i f(j =i且 j=n-i+l;下 区:j=n
28、-i+l;左 区:j i 且 j n-i+l。现在问题是,如果知道一行在不同区域开始第一个位置的数字,然后该区后续的数字就可利用前面分析的规律得到。对于右区开始各行第一个数字最易求出,为4*(n-l)-i+lo后续一个和同行前一个数字之差是4*n-(j-1)*2 +1,其中方括号内是每边的数字个数。对角线上的数字是分区点,对角线上相临数字仍然相差一圈数字个数,读者自行分析得到计算公式。右区开始的第一个数字可以从上区结束时的数字按规律求出。下述程序用变量s保存分区对角线上的数字。参考答案一:main()int i,j,k,n,s,m,t;printf(Please enter n:);scanf
29、(%d ,&n);for(i=l;i=n;i+)s=(i=(n+l)/2)?1 :3*(n-(n-i)*2-1)+1 ;m=(i=(n+l)/2)?i:n-i+l;/*m T 是外层圈数*/for(k=l;k m;k+)s+=n4*(n-2*k+l);for(j=l;j=n-i+l&j=i&j i&j n-i+l)/*右区*/t-=4*(n-2*(n-j+l)+l;if(j=,n j=nn j if(j=l)t=4*(n-l)-i+2;=nn jelse t+=4*(n-2*j+1)+1 ;)printf t);)printf(X n);)方案二:根据本题图形的特点,我们可以构造一个递归算法。
30、我们可以将边长为N的图形分为两部分:第一部分最外层的框架,第二部分为中间的边长为N-2的图形。对于边长为N的正方型,若其中每个元素的行号为i(liWN),列 号 为 j(l W j W N),第 1行 第 1列元素表示为al,l(all=l),则有:对于最外层的框架可以用以下数学模型描述:上 边:al,j=al,1+j-l(j#l)右边:ai,N=al,l+N+i-2 (iW l)下边:ai,l=al,l+4 N-i-3 (iW l)左边:aN,j=al,l+3 N-2-j(jW l)对于内层的边长为N-2 的图形可以用以下数学模型描述:左上角元素:ai,i=ai-l,i-1+4(N-2 i-
31、l)(i l)若令:ai,j=fun(ai-1,i-1+4 (N-2 i-l),当:i(N+l)/2 且jy)?(y):(x)fun(int all,int i,int j,int n)int min,a22;i f(i=j&i=l)return(all);else if(i=j&i=(n+l)/2&j=(n+l)/2)min=MIN(n-i+l,n-j+l);else if(i=(n+l)/2)min=MIN(i,n-j+l);else if(i=(n+l)/2&j(n+l)/2)min=MIN(n-i+l,j);else min=MIN(i,j);a22=fun(all,min,min,n
32、);return(fun(a22,i-min+1,j-min+1,n-2*(min-1);)main()int all=l,i,j,n;printf(Enter n=n);scanf(n%dn,&n);for(i=l;i=n;i+)for(j=l;j=n;j+)printf(n%4 dn,fun(all,i,j,n);printf(nnn);)4.2 4 分析:此题的关键还是要找到输出数字aij和行列数 i、j 的关系。为此将图形分为四个区域如下图:3 3 3 3 33 2 2 2 33 2 12 33 2 2 2 33 3 3 3 3(此图n为 5)在左上区域,即 i =(n+l)/2、j(
33、n+l)/2 时,输出数字为 m a x (n+l)/2-n/2 ;在左下区,即i(n+l)/2、j(n+l)/2、j (n+l)/2时,输出数字为m a x i-n/2,j-n/2。参考答案:d e f i n e m a x (x,y)(x)(y)?(x):(y)m a i n()i n t i,j,n;p r i n t f(n n Pl e a s e En t e r n:n);s c a n f(%d,&n);f o r(i=l;i =n;i+)f o r(j=l;j =n;j+)i f(i =(n+l)/2)i f(j =(n+l)/2)p r i n t f(%4dn,m a
34、x(n+1)/2-i+l,(n+1)/2-j+1);e l s ep r i n t f (,%4dn,m a x (n+1)/2-i+l,j-n/2);e l s e i f(j =(n+l)/2)p r i n t f(%4d,m a x(i-n/2,(n+1)/2-j+1);e l s ep r i n t f(%4dn,m a x(i-n/2,j-n/2);p r i n t f(X n);)【4.25】分析:前面我们已经见到过上下对称的图形,这是一个左右对称的图形,垂直中心线上的数字恰好是行号,在每行位于图形垂直中心线左方的数字是逐渐增加的,而右方是逐渐减小的。j=i是分区的标志,左
35、方输出数字就是列数j,而右方的数字从i开始逐步减小1。参考答案:m a i n ()i n t i,j;f o r(i=l;i =9;i+)f o r(j=l;j =9-i;j+)p r i n t f();f o r(j=l;j=l;j)p r i n t f (,%2d j);p r i n t f (X n);)【4.26】分析:这类输出字符的图形和输出数字的图形考虑是近似的,因为字符的ASCII码就是一个整数。在字符码值的变化过程中,应该注意应该判断码值是否超出字符的范围,进行必要的处理,为了保持程序的简洁,本题没有考虑这个问题,在下题里对这个问题进行了处理。参考答案:m a i n(
36、)c h a r c=Z ;i n t i,j,n;p r i n t f(n Pl e a s e En t e r n:);s c a n f(n%dn,&n);f o r(i=l;i =n;i+)f o r(j=l;j =n+i-2;j+)i f(j=n-i+l)p r i n t f(n%cn,c-);e l s e p r i n t f();p r i n t f(%c nn,c-);)f o r (i=l;i n;i+)f o r(j=l;j =2*(n-1)-i;j+)i f(j=i+l)p r i n t f(n%cn,c-);e l s e p r i n t f(n);p
37、 r i n t f c);))【4.27】分析:此题与上题相近,区别在于输出时字符的ASCII码值的变化在图形的中间一行为最大,同时一行的两个字符是相同的。程序考虑在输入字符时设计了一个循环,保证输入的是英文字母。字符变化后进行了处理,程序中使用条件运算。在字符码值增加的过程中,首先判断是大写还是小写字符,然后判断字符码值是否超出英文字母z(或 Z),如果超出则重新赋为a(或 A);在输出图象下半部分时,ASCII码值减少用同样的思路进行判断。在判断字符大小写(条件语句的第一个判断)时,用的是两个不同的值,请读者自行思考为什么,用同一个值是否可以?参考答案:m a i n()c h a r
38、c;i n t i,j,n;d o p r i n t f(n Pl e a s e En t e r n,c h a r:);s c a n f(n%d,%cn,&n,&c);w h i l e(c Z,&c z,);f o r (i=l;i =n;i+)f o r(j=l;j =n+i-2;j+)i f(j=n-i+l)p r i n t f(n%cn,c);e l s e p r i n t f(n);p r i n t f(%c nn,c+);c=c Z?A:c):(c z?a :c);)c-=2;c=c Z?(c A?Z :c):(c a?z :c);f o r(i=l;i n;i+
39、)f o r(j=l;j =2*(n-1)-i;j+)i f(j=i+l)p r i n t f(%c,c);e l s e p r i n t f(n);p r i n t f(%c n,c-);c=c Z?(c (y)?(x):(y)m a i n()c h a r c;i n t i,j,n;d o p r i n t f(n n Pl e a s e En t e r n,c h a r:n);s c a n f(%d,%c,&n,&c);w h i l e(c Z&c z );f o r (i=l;i =n;i+)f o r(j=l;j =n;j+)i f(i =(n+l)/2)i
40、f(j =(n+l)/2)p r i n t f (*%c,c-m a x(n+l)/2-i+l,(n+l)/2-j+l)+(n+l)/2);e l s ep r i n t f(%c”,c-m a x(n+l)/2-i+l,j-n/2)+(n+l)/2);e l s ei f (j (y)?(x):(y)m a i n()c h a r c;i n t i,j,n;d o p r i n t f(n Pl e a s e En t e r n,c h a r:n);s c a n f(%d,%c,&n,&c);w h i l e(c Zr&c z );f o r (i=l;i =n;i+)f
41、 o r(j=l;j =n;j+)i f (i =(n+l)/2)i f(j =(n+l)/2)p r i n t f(%cn,c-m a x(n+1)/2-i+l,(n+l)/2-j+l)+l);e l s ep r i n t f(n%cn,c-m a x(n+1)/2-i+l,j-n/2)+1);e l s ei f(j =(n+l)/2)p r i n t f(n%cn,c-m a x(i-n/2,(n+l)/2-j+l)+l);e l s ep r i n t f(%c,c-m a x(i-n/2,j-n/2)+1);p r i n t f(X n);)4.3 0 参考答案:i n
42、c l u d em a i n ()i n t i,j;f o r (i=l;i 10;i+)p r i n t f (,%4dn,i);p r i n t f(n n-f o r(i=l;i 10;i+)f o r(j=l;j 10;j+)i f(j i)p=B p r i n t f(?=B?);nn);e l s e p r i n t f(%4d ,i*j);p r i n t f (n);)14.10 值.物出速所求边长为n 的空心定六边电*图*7 0=5时的空心正六边型K4.U域入n 值.给出蝇所示图尾*图4.8 n=5时的X形1412域入n 值.蜻出蝇所示图版*图4.9 n=5
43、时的Z形【4.13】输入n 值.给出如居所示图派-n*图 4.10 n=3时 的 K形U.M 1域入n 值.给出$10所示图跳*图 4.12 n=5时 的 N形4 1 5 喻入n 值.输出砖所示图成*图 4.12 n=3时的菱形【4.16】翰入n 值.蜻出$1所 示 图 谈(例为n=6时)*图 4.13 n=5时的上撰形I4J71笫目程序.将出如图所示疝函数0 到2。的 雕.*图4.1 4正 弦 蝇14131螭程序.在屏幕T出一扭号困成的空心图.【419】策钝序.在屏等上绘制$1余弦曲线和直发 若属等的横向为x 班 纵向为、轴.在屏噂:上显示0 M 0度的cs(x)曲统与直线x=心户案*g l
44、 7 1 的送加图彩.其中cos图分用*表示 电 用-表 求 在谣个图蹲顺点处则用给喝彩的符号.图4.1 5余弦曲线和直挂14201期.触如的蹒.8406212123739511L239 10 11 1215 16 17 1821 22 23 2427 28 29 3033 34 36 36图4.16 6时的歆字正方形I42U 蜗丽.钿如的酬.1 3 6 10 15 212 5 9 14 204 8 13 197 12 1811 1716图4.1 7邛6时的数字画三角14 221螃入n值.给出如图所示图跳asscsescsEscscsesczBSczssesesKScsc:1 2 3 4 51
45、12 3 41112 31111211111图4.1 8归5时的数字矩形1 4 231输入n值.嫡出$10所示的nM Z lO)阶辗卖方年1 2 3 4 516171819615242520714 2322 2181312111090 4 1 9=?时的事卖方隼14241靖入n值.独出Jie所 示 回 鲂 阵.333333322223321123321123322223333333当X 6 时:图 4.20回形方阵33当 n=5时:333142第出如图所示的致字金字塔1 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2
46、11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1图 4.21 n=5时的数字金字塔【126】输入n值.埼出如图所示图跳图 4.22 n=5时的空心菱形1427埴入夜行字符和图礴离.验出如图所示图窥AB BC CD DE ED DC CB BA图4.23顶行字符为,A 1高 为5的曼形【428】输入首字将和5后.物出$1所 示 可鲂阵.AAAAAABBBAABCBAABBBAAAAAA图424首字符为/、离为S的 雄14291蛾入中心字符和育后.给出如图所示晦方年XXX
47、XXXY YYXXYZYXXY YYYXXXXXS4.2S中心字符为Z:JS为S的方隼【430】第目程序.咄如图所示上三角港式的索法九九表.123456789987654321123(48678816M324O4856647418529122344612182430365050511Z2481216369图4.2 6上三角乘法九九表首页【4.44求解爱因斯坦数学题。有一条长阶梯,若 每 步 跨2阶,则最后剩余1阶,若每步跨3阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶,若每步跨7阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶?【4.4 5 一个自然数被8除 余1,所
48、得的商被8除也余1,再将第二次的商被8除后余7,最后得到一个商为a。又知这个自然数被1 7除余4,口所得的商被1 7除余1 5,最后得到一个商是a的2倍。编写程序求这个自然数。【4.4 6】编写程序,用二分法求一元二次方程2 x3-4 x2+3 x-6=0在(1 0,1 0)区间的根。4.4 7 中国古代科学家祖冲之采用正多边形逼近的割圆法求出了 n的值。请编写一程序,采用割圆法求出冗的值,要求精确到小数点之后的第十位。【4.4 8 A、B、C、D、E五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。日上三竿,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一
49、份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿鱼。编写程序求出他们合伙至少捕了多少条鱼。【4.4 9】一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。【4.5 0】若一个口袋中放有1 2 个球,其中有3个红的,3个白的和6 个黑的,每次从中任取8 个球,编写程序求出共有多少种不同的颜色搭配。【4.5 1】1 0 0 匹马驮1 0 0 担货,大马一匹驮3 担,
50、中马一匹驮 2 担,小马两匹驮1 担。试编写程序计算大、中、小马的数目。4.5 2 编写程序,输出用一元人民币兑换成1 分、2 分和5 分硬币的不同兑换方法。【4.5 3】显示2 0 0 以内的完全平方数和它们的个数。(完全平方数:A 2+B 2=C 2,求 A、B、C)【4.5 4 设 N 是一个四位数,它的9 倍恰好是其反序数(例如:1 2 3 的反序数是3 2 1),求N的值。4.5 5 将一个数的数码倒过来所得到的新数叫原数的反序数。如果一个数等于它的反序数,则称它为对称数。求不超过1 9 9 3 的最大的二进制的对称数。【4.5 6】编写程序求解下式中各字母所代表的数字。P EA R