1、int i;for(i=0;=19;%8d,fib(i);fib(int i) return(i1e-12);%.10fn,x);1.3247179572 5.源程序略。(分子、分母均构成斐波那契数列) 结果是32.66026079864 6.源程序:int a,b,c,m;Please input a,b and c:scanf(%d %d %d,&a,&b,&c);if(ab)m=a;a=b;b=m;c)m=a;a=c;c=m;if(bc&a+cb&b+ca) double s=(a+b+c)/2;SS=%.10lfn,sqrt(s*(s-a)*(s-b)*(s-c);else print
2、f(Data error!4 5 6 SS=9.9215674165 int a=3,b=4,c=5;float d=1.2,e=2.23,f=-43.56;a=%3d,b=%-4d,c=*%dnd=%gne=%6.2fnf=%-10.4f*n,a,b,c,d,e,f);m=a;5 6 7 6 7 5 average of %d,%d and %d is %.2fn,a,b,c,(a+b+c)/3.);6 7 9 average of 6,7 and 9 is 7.33 9.不能。修改后的源程序如下:int a,b,c,x,y;x=a*b;y=x*c;a=%d,b=%d,c=%dnx=%d,y
3、=%dn,x,y);6 第5章 选择结构程序设计一、单项选择题(第113页) 1-4.DCBB 5-8.DABD 二、填空题(第115页) 1.非0 0 2.k=0 3.if (abs(x)4) printf(error!4.if(x=1&x=200&=210)&x&1)printf(5.k=1 (原题最后一行漏了个d,如果认为原题正确,则输出k=%。6. 8! Right!11 7.$a=0 8.a=2,b=1 三、编程题(第116页) 1.有错。正确的程序如下:%d,%d,%dmin=%dn,ab?bc?c:b:aunsigned long a;%ldfor(;a;,a%10),a/=10
4、);12345 54321 3.(1)源程序:int x,y;x);if (x-5&0)y=x;=0&5)y=x-1;=5&10)y=x+1;,y);(2)源程序:if(x-5) if(x=0) if(x=5)y=x+1;else y=x-1; else y=x;(3)源程序:else if(x=0)y=x-1;-5)y=x;(4)源程序:switch(x/5) case -1:if(x!=-5)y=x;break;case 0:y=x-1;case 1:y=x+1;4.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。现给出Delphi源程序和C+ Builder源程序。De
5、lphi源程序:procedure TForm1.Button1Click(Sender: TObject);begin edit3.Text:=format(%.0f天,strtodate(edit2.text) -strtodate(edit1.text);end;procedure TForm1.FormCreate(Sender:Edit2.Text:=datetostr(now);button1click(form1) C+ Builder源程序:void _fastcall TForm1:Button1Click(TObject *Sender) Edit3-Text=IntToS
6、tr(StrToDate(Edit2-Text)-StrToDate(Edit1-Text)+天FormCreate(TObject *Sender) Edit2-Text=DateToStr(Now();Button1Click(Form1);(运行于Windows下) unsigned a,b,c;请输入三个整数:if(a&a=b&a=c)printf(构成等边三角形nelse if(a+bif(a=b|a=c|b=c)printf(构成等腰三角形n构成一般三角形n不能构成三角形n5 6 5 构成等腰三角形 20)y=1;else switch(x/60) case 0:y=x/10;de
7、fault:y=6;unsigned m;float n;if(m600)n=0.06;else n=(m/100+0.5)/100;%d %.2f %.2fn,m,m*(1-n),m*n);450 450 429.75 20.25 8. 2171天(起始日期和终止日期均算在内) 本题可利用第4小题编好的程序进行计算。把起始日期和终止日期分别打入“生日”和“今日”栏内,单击“实足年龄”按钮,将所得到的天数再加上1天即可。9.源程序:unsigned long i;i);%ld %dn,i%10,(int)log10(i)+1);99887 7 5 10.源程序:unsigned j10,m=0
8、;i;)jm+=(i+2)%10;i/=10;m;m-)i=i*10+jm-1;%ldn,i);6987 8109 (注:要加密的数值不能是0或以0开头。如果要以0开头需用字符串而不能是整数。)7 第6章 循环结构程序设计一、单项选择题(第142页) 1-4.BCCB 5-8.CBCA 二、填空题(第143页) 1.原题可能有误。如无误,是死循环 2.原题有误。如果把b=1后面的逗号改为分号,则结果是8。 3.20 4.11 5. 2.400000 6.*#*#*#$ 7.8 5 2 8.d=1.0 +k k=0 xamin 三、编程题(第145页) 1. 源程序:int i=1,sum=i;
9、while(i0)p+=f; else n+=f;%lf %lf %lfn,p,n,p+n);3.源程序:unsigned a;for (;%d,b n23456 6,5,4,3,2 unsigned long a,b,c,i;%ld%ldc=a%1000;b;i+)c=c*a%1000;if(c100)printf(010)printf(,c);129 57 009 5.略 6.原题提供的计算e的公式有误(前面漏了一项1)。正确的公式是e= 1 + 1 + 1/2! + 1/3! + + 1/n! + (1)源程序:double e=1,f=1;int n;for(n=1;n1e-4;e=%
10、.4fne=2.7183 unsigned long a=0,b=1,c=0;int i,d;d);for (i=1;=(d+2)/3;%10ld%10ld%10ld,a,b,(a+=b+c,b+=c+a,c+=a+b);本题还可以用递归算法(效率很低),源程序如下:unsigned long fun(int i) return i=3?i:fun(i-1)+fun(i-2)+fun(i-3);int i,d; scanf(=d;%10ld,fun(i);15 1 2 3 6 11 20 37 68 125 230 423 778 1431 2632 4841 for(i=1010;=9876
11、;i+=2) if(i/100%11&i%100%11&i/10%100%11&i/1000!=i%10&=i/10%10&i/100%10!=i%10)printf( %d1024 1026 1028 1032 1034 1036 9874 9876 apple watermelon pearn=100;if(k=100-i-j)*2=400-i*4-j*40) %4d%7d%9dn,i,j,k);apple watermelon pear 5 5 90 24 4 72 43 3 54 62 2 36 81 1 18 stdio.h#define N 4 /* N为阶数,可以改为其他正整数
12、*/ int m=N*2,i,j;n),i+) putchar(N-abs(i-N)bj i3 j55. bj=aj0 bjajk 6.ak+=aj 三、编程题(第196页) 1.源程序:int a44,i,j,s=0;4;for(j=0;aij);if(i=j|i+j=3)s+=aij;,s); /* 注:55矩阵不能照此计算! */ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 68 2. 源程序:int i,a36;a0=2;=29;i+)ai=ai-1+2;=35;i+)ai=a(i-30)*5+2;i+)printf(%dt,ai);2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 6 16 26 36 46 56 3. 源程序:stdlib.htime.h
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1