tceic.com
学霸学习网 这下你爽了
赞助商链接
当前位置:首页 >> 工学 >>

北理工《C语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案


北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

1 【C 语言】 语言程序设计教程(第二版)》习题答案 《C





1. 本文所指的《C 语言程序设计教程(第二版)》是李凤霞主编、北京 理工大学出版社出版的,绿皮。

2 第 1 章 程序设计基础知识 一、单项选择题(第 23 页) 1-4.CBBC 5-8.DACA 二、填空题(第 24 页) 1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设 计语言 7.有穷性 8.直到型循环 9.算法 10.可读性 11.模块化 12.对 问题的分析和模块的划分 三、应用题(第 24 页) 2.源程序: main() {int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的 1/3 */ printf("cock hen chick\n"); for(i=1;i<=20;i++) for(j=1;j<=33;j++) for(k=1;k<=33;k++)

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

if (i+j+k*3==100&&i*5+j*3+k==100) printf(" %d %d %d\n",i,j,k*3);} 执行结果: cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前 20 项。 递推法 源程序: main() {long a,b;int i; a=b=1; for(i=1;i<=10;i++) /*要计算前 30 项,把 10 改为 15。*/ {printf("%8ld%8ld",a,b); a=a+b;b=b+a;}} 递归法 源程序: main() {int i; for(i=0;i<=19;i++) printf("%8d",fib(i));} fib(int i) {return(i<=1?1:fib(i-1)+fib(i-2));}

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

执行结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 4.源程序: #include "math.h"; main() {double x,x0,deltax; x=1.5; do {x0=pow(x+1,1./3); deltax=fabs(x0-x); x=x0; }while(deltax>1e-12); printf("%.10f\n",x);} 执行结果: 1.3247179572 5.源程序略。(分子、分母均构成斐波那契数列) 结果是 32.66026079864 6.源程序: main() {int a,b,c,m; printf("Please input a,b and c:"); scanf("%d %d %d",&a,&b,&c);

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

if(a<b){m=a;a=b;b=m;} if(a<c){m=a;a=c;c=m;} if(b<c){m=b;b=c;c=m;} printf("%d %d %d\n",a,b,c);} 执行结果: Please input a,b and c:123 456 789 789 456 123 7.源程序: main() {int a; scanf("%d",&a); printf(a%21==0?"Yes":"No");} 执行结果: 42 Yes

3 第 2 章 C 语言概述 一、单项选择题(第 34 页) 1-4.BDCB 5-8.AABC

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

二、填空题(第 35 页) 1.主 2.C 编译系统 3.函数 函数 4.输入输出 5.头 6. .OBJ 7.库函数 8. 文本 三、应用题(第 36 页) 5.sizeof 是关键字,stru、_aoto、file、m_i_n、hello、ABC、SIN90、 x1234、until、cos2x、s_3 是标识符。 8.源程序: main() {int a,b,c; scanf("%d %d",&a,&b); c=a;a=b;b=c; printf("%d %d",a,b);} 执行结果: 12 34 34 12

4 第 3 章 数据类型与运算规则 一、单项选择题(第 75 页) 1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD

21-25.ADDBC 26-27.AB

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

二、填空题(第 77 页) 1.补码 2.±(10^-308~10^308) 3.int(整数) 4.单目 自右相左 5.函数 调用 6.a 或 b 7.1 8.65,89 三、应用题(第 78 页) 1.10 9 2.执行结果: 11 0 0 12 1

5 第 4 章 顺序结构程序设计 一、单项选择题(第 90 页) 1-5.DCDAD 6-10.BACBB 二、填空题(第 91 页) 1.一 ;2. 5.169000 3.(1)-2002500 (2)I=-200,j=2500 (3)i=-200 j=2500 4.a=98,b=765.000000,c=4321.000000 9. 13 5. 略 6.0,0,3 7.3

8.scanf("%lf%lf%lf",&a,&b,&c);

13.000000,13.000000

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

10.a=a^c;c=c^a;a=a^c;(这种算法不破坏 b 的值, 也不用定义中间变量。 ) 三、编程题(第 92 页) 1.仿照教材第 27 页例 2-1。 2.源程序: main() {int h,m; scanf("%d:%d",&h,&m); printf("%d\n",h*60+m);} 执行结果: 9:23 563 3.源程序: main() {int a[]={-10,0,15,34},i; for(i=0;i<=3;i++) printf("%d\370C=%g\370F\t",a[i],a[i]*1.8+32);} 执行结果: -10℃=14°F 0℃=32°F 15℃=59°F 34℃=93.2°F 4.源程序: main() {double pi=3.14159265358979,r=5; printf("r=%lg A=%.10lf S=%.10lf\n",r,2*pi*r,pi*pi*r);}

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

执行结果: r=5 A=31.4159265359 S=49.3480220054 5.源程序: #include "math.h"; main() {double a,b,c; scanf("%lf%lf%lf",&a,&b,&c); if (a+b>c&&a+c>b&&b+c>a) {double s=(a+b+c)/2; printf("SS=%.10lf\n",sqrt(s*(s-a)*(s-b)*(s-c)));} else printf("Data error!");} 执行结果: 456 SS=9.9215674165 6.源程序: main() {int a=3,b=4,c=5;float d=1.2,e=2.23,f=-43.56; printf("a=%3d,b=%-4d,c=**%d\nd=%g\ne=%6.2f\nf=%-10.4f**\n",a,b,c ,d,e,f);} 7.源程序: main() {int a,b,c,m;

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

scanf("%d %d %d",&a,&b,&c); m=a;a=b;b=c;c=m; printf("%d %d %d\n",a,b,c);} 执行结果: 567 675 8.源程序: main() {int a,b,c; scanf("%d %d %d",&a,&b,&c); printf("average of %d,%d and %d is %.2f\n",a,b,c,(a+b+c)/3.); 执行结果: 679 average of 6,7 and 9 is 7.33 9.不能。修改后的源程序如下: main() {int a,b,c,x,y; scanf("%d %d %d",&a,&b,&c); x=a*b;y=x*c; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("x=%d,y=%d\n",x,y);}

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

6 第 5 章 选择结构程序设计 一、单项选择题(第 113 页) 1-4.DCBB 5-8.DABD 二、填空题(第 115 页) 1.非 0 0 2.k==0 3.if (abs(x)>4) printf("%d",x);else printf("error!"); 4.if((x>=1&&x<=10||x>=200&&x<=210)&&x&1)printf("%d",x); 5.k=1 (原题最后一行漏了个 d,如果认为原题正确,则输出 k=%。) 6. 8! Right!11 7.$$$a=0 8.a=2,b=1 三、编程题(第 116 页) 1.有错。正确的程序如下: main() {int a,b,c; scanf("%d,%d,%d",&a,&b,&c); printf("min=%d\n",a>b?b>c?c:b:a>c?c:a);} 2.源程序: main() {unsigned long a; scanf("%ld",&a);

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

for(;a;printf("%d",a%10),a/=10);} 执行结果: 12345 54321 3.(1)源程序: main() {int x,y; scanf("%d",&x); if (x>-5&&x<0)y=x; if (x>=0&&x<5)y=x-1; if (x>=5&&x<10)y=x+1; printf("%d\n",y);} (2)源程序: main() {int x,y; scanf("%d",&x); if(x<10) if(x>-5) if(x>=0) if(x>=5)y=x+1; else y=x-1; else y=x; printf("%d\n",y);} (3)源程序: main() {int x,y;

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

scanf("%d",&x); if(x<10) if(x>=5)y=x+1; else if(x>=0)y=x-1; else if(x>-5)y=x; printf("%d\n",y);} (4)源程序: main() {int x,y; scanf("%d",&x); switch(x/5) {case -1:if(x!=-5)y=x;break; case 0:y=x-1;break; case 1:y=x+1;} printf("%d\n",y);} 4.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程 序设计。 现给出 Delphi 源程序和 C++ Builder 源程序。 Delphi 源程序: procedure TForm1.Button1Click(Sender: TObject); begin edit3.Text:=format('%.0f 天',[strtodate(edit2.text) -strtodate(edit1.text)]); end;

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

procedure TForm1.FormCreate(Sender: TObject); begin Edit2.Text:=datetostr(now); button1click(form1) end; C++ Builder 源程序: void __fastcall TForm1::Button1Click(TObject *Sender) { Edit3->Text=IntToStr(StrToDate(Edit2->Text)-StrToDate(Edit1->Text))+ "天"; } void __fastcall TForm1::FormCreate(TObject *Sender) { Edit2->Text=DateToStr(Now()); Button1Click(Form1); } 执 行 结 果 : ( 运 行 于 Windows 下 )

http://img378.photo.163.com/nxgt/41463572/1219713927.jpg

5.源程序: main() {unsigned a,b,c;

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

printf("请输入三个整数:"); scanf("%d %d %d",&a,&b,&c); if(a&&b&&c&&a==b&&a==c)printf("构成等边三角形\n"); else if(a+b>c&&a+c>b&&b+c>a) if(a==b||a==c||b==c)printf("构成等腰三角形\n"); else printf("构成一般三角形\n"); else printf("不能构成三角形\n");} 执行结果: 请输入三个整数:5 6 5 构成等腰三角形 6.源程序: main() {int x,y; scanf("%d",&x); if(x<20)y=1; else switch(x/60) {case 0:y=x/10;break; default:y=6;} printf("x=%d,y=%d\n",x,y);} 7.源程序: main() {unsigned m;float n;

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

scanf("%d",&m); if(m<100)n=0; else if(m>600)n=0.06; else n=(m/100+0.5)/100; printf("%d %.2f %.2f\n",m,m*(1-n),m*n);} 执行结果: 450 450 429.75 20.25 8. 2171 天(起始日期和终止日期均算在内) 本题可利用第 4 小题编好的程序进行计算。把起始日期和终止日期 分别打入“生日”和“今日”栏内,单击“实足年龄”按钮,将所得 到的天数再加上 1 天即可。 9.源程序: #include "math.h"; main() {unsigned long i; scanf("%ld",&i); printf("%ld %d\n",i%10,(int)log10(i)+1);} 执行结果: 99887 75 10.源程序:

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

main() {unsigned long i;unsigned j[10],m=0; scanf("%ld",&i); for(;i;){j[m++]=(i+2)%10;i/=10;} for(;m;m--)i=i*10+j[m-1]; printf("%ld\n",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<=n 9.①x>=0 ②x<amin 三、编程题(第 145 页)

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

1. 源程序: main() {int i=1,sum=i; while(i<101){sum+=i=-i-2;sum+=i=-i+2;} printf("%d\n",sum);} 执行结果: 51 2.源程序: main() {double p=0,n=0,f;int i; for(i=1;i<=10;i++) {scanf("%lf",&f); if (f>0)p+=f; else n+=f;} printf("%lf %lf %lf\n",p,n,p+n);} 3.源程序: main() {unsigned a; scanf("%ld",&a); for (;a;printf("%d,",a%10),a/=10); printf("\b \n");} 执行结果: 23456

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

6,5,4,3,2 4.源程序: main() {unsigned long a,b,c,i; scanf("%ld%ld",&a,&b); c=a%1000; for(i=1;i<b;i++)c=c*a%1000; if(c<100)printf("0"); if(c<10)printf("0"); printf("%ld\n",c);} 执行结果: 129 57 009 5.略 6.原题提供的计算 e 的公式有误(前面漏了一项 1)。 正确的公式是 e= 1 + 1 + 1/2! + 1/3! + … + 1/n! + … (1)源程序: main() {double e=1,f=1;int n; for(n=1;n<=20;n++){f/=n;e+=f;} printf("e=%.14lf\n",e);} 执行结果:

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

e=2.71828182845905 (2)源程序: main() {double e=1,f=1;int n; for(n=1;f>1e-4;n++){f/=n;e+=f;} printf("e=%.4f\n",e);} 执行结果: e=2.7183 7.源程序: main() {unsigned long a=0,b=1,c=0;int i,d; scanf("%d",&d); for (i=1;i<=(d+2)/3;i++) printf("%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);} main() {int i,d; scanf("%d",&d); for(i=1;i<=d;i++) printf("%10ld",fun(i));} 执行结果:

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

15 1 2 3 6 11 20 37 68 125 230 423 778 1431 2632 4841 8.源程序: main() {int i; for(i=1010;i<=9876;i+=2) if(i/100%11&&i%100%11&&i/10%100%11&&i/1000!=i%10&&i/1000! =i/10%10&&i/100%10!=i%10)printf(" %d",i);} 执行结果: 1024 1026 1028 1032 1034 1036 …… …… 9874 9876 9.源程序: main() {int i,j,k; printf("apple watermelon pear\n"); for(i=1;i<=100;i++) for(j=1;j<=10;j++) if((k=100-i-j)*2==400-i*4-j*40) printf("%4d%7d%9d\n",i,j,k);} 执行结果: apple watermelon pear 5 5 90

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

24 4 72 43 3 54 62 2 36 81 1 18 10.源程序: #include "stdio.h"; #define N 4 /* N 为阶数,可以改为其他正整数 */ main() {int m=N*2,i,j; for(i=1;i<m;printf("\n"),i++) for(j=1;j<m; putchar(N-abs(i-N)<=abs(j++-N)?' ':'*'));} 如果把 N 值改为 5,则执行结果如下: * *** ***** ******* ********* ******* ***** *** *

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

作者:宁西贯通

2006-5-7 23:41

回复此发言

--------------------------------------------------------------------------------

8 说明 注意:上面最后一题的输出结果应该是由星号组成的一个菱形,

9 第7章 数 组 一、单项选择题(第 192 页) 1-4.BBCC 5-8.AABA 二、填空题(第 194 页) 1.1 2 4 8 16 32

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

64 128 256 512 2. ①a[age]++ ②i=18;i<26 3. ①break ②i==8 4. ①a[i]>b[j] ②i<3 ③j<5 5. ①b[j]=a[j][0] ②b[j]<a[j][k] 6.a[k++]=a[j] 三、编程题(第 196 页) 1.源程序: main() {int a[4][4],i,j,s=0; for(i=0;i<4;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); for(i=0;i<4;i++) for(j=0;j<4;j++) if(i==j||i+j==3)s+=a[i][j]; printf("%d\n",s);} /* 注:5×5 矩阵不能照此计算! */ 执行结果: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 68

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

2. 源程序: main() {int i,a[36]; a[0]=2; for(i=1;i<=29;i++)a[i]=a[i-1]+2; for(;i<=35;i++)a[i]=a[(i-30)*5+2]; for(i=0;i<=35;i++)printf("%d\t",a[i]);} 执行结果: 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. 源程序: #include "stdlib.h" #include "time.h" main() {int a[30],i,m=0; randomize(); for(i=0;i<=29;i++) {a[i]=rand(); if(m<a[i])m=a[i]; printf("%d\t",a[i]);}

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

for(i=0;i<=29;i++)if(a[i]==m)a[i]=-1; printf("\n-----------------\n"); for(i=0;i<=29;i++) if(~a[i])printf("%d\t",a[i]); printf("\n");} 执行结果: 20679 29377 18589 9034 27083 4959 3438 5241 32278 23344 32499 29305 22340 5927 13031 2161 2583 31855 22977 14283 4851 22038 6992 11394 20887 27381 6293 18347 16414 10210 ----------------20679 29377 18589 9034 27083 4959 3438 5241 32278 23344 29305 22340 5927 13031 2161 2583 31855 22977 14283 4851 22038 6992 11394 20887 27381 6293 18347 16414 10210 4.源程序: main() {int i,n=0,b[16]; scanf("%d",&i); for(;i;i>>=1)b[n++]=i&1; for(;n;)printf("%d",b[--n]);} 执行结果: 9876 10011010010100

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

本题也可以不用数组。源程序如下: #include "stdio.h" main() {int i,n; scanf("%d",&i); for(n=16;n;n--) {asm ROL i,1 putchar(i&1|48);} } /* ROL 是循环左移的汇编指令 */ 5. 源程序: #include "stdlib.h" #include "time.h" #define M 5 #define N 6 main() {int a[M][N],i,j,t[M]; randomize(); /*生成 M 行 N 列随机数*/ for(i=0;i<M;printf("\n"),t[i++]=0) for(j=0;j<N;j++) printf("%4d",a[i][j]=random(50)); /*找出每行的最小数,t[M]是第 M 行的最小数所在的列数*/

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

for(i=0;i<M;i++) for(j=0;j<N;j++) if(a[i][t[i]]>a[i][j])t[i]=j; /*比较每个最小数在其所在的列上是否也是最小*/ for(j=0;j<M;j++) for(i=0;i<M;i++) {if(i==j)continue; if(a[j][t[j]]>a[i][t[j]]) {t[j]=-1;break;} } printf("-------------------\n"); /*输出在行和列上均为最小的数*/ for(i=0;i<M;i++) if(t[i]!=-1) printf("a[%d,%d]=%d\n",i,t[i],a[i][t[i]]); } 执行结果: 13 19 13 20 0 1 20 41 6 16 35 30 3 5 37 8 23 15 6 36 24 29 18 1 1 5 28 21 46 34

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

------------------a[0,4]=0 a[1,2]=6 a[3,5]=1 a[4,0]=1 6. 源程序: #include "stdlib.h" #include "time.h" #define M 5 #define N 7 main() {int a[M][N],i,j,t=0; randomize(); for(i=0;i<M;i++) {a[i][N-1]=0; for(j=0;j<N-1;j++) {printf("%4d",a[i][j]=random(91)+10); a[i][N-1]+=a[i][j];} printf("%4d\n",a[i][N-1]);} for(i=1;i<M;i++) if(a[i][N-1]>a[t][N-1])t=i; if(t)for(j=0;j<N;j++)

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

{i=a[0][j];a[0][j]=a[t][j];a[t][j]=i;} printf("-----------------\n"); for(i=0;i<M;printf("\n"),i++)

10 第 7 章 数 组 for(j=0;j<N;j++) printf("%4d",a[i][j]); } 执行结果: 89 17 32 95 35 20 288 39 48 22 27 73 22 231 51 87 39 71 84 46 378 84 94 97 77 27 26 405 69 50 56 89 37 46 347 ----------------84 94 97 77 27 26 405 39 48 22 27 73 22 231 51 87 39 71 84 46 378

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

89 17 32 95 35 20 288 69 50 56 89 37 46 347 7. 源程序: #include "stdlib.h" #include "time.h" #define M 5 #define N 6 main() {int a[M][N],i,j; struct data{int value,x,y;}max,min; max.value=0;min.value=100; randomize(); for(i=0;i<M;printf("\n"),i++) for(j=0;j<N;j++) {printf("%4d",a[i][j]=random(100)+1); if(max.value<a[i][j]) {max.value=a[i][j];max.x=i;max.y=j;} if(min.value>a[i][j]) {min.value=a[i][j];min.x=i;min.y=j;} } printf("-----------------\n"); i=a[0][N-1];a[0][N-1]=max.value;a[max.x][max.y]=i;

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

i=a[M-1][0];a[M-1][0]=min.value;a[min.x][min.y]=i; for(i=0;i<M;printf("\n"),i++) for(j=0;j<N;j++) printf("%4d",a[i][j]); } 执行结果: 51 53 74 65 30 40 30 26 50 6 61 27 47 16 54 58 76 19 57 74 44 92 71 48 73 57 60 32 73 67 ----------------51 53 74 65 30 92 30 26 50 73 61 27 47 16 54 58 76 19 57 74 44 40 71 48 6 57 60 32 73 67 9. 源程序: main() {char s[255];int i,j,b=1; printf("Input a string:"); scanf("%s",s);

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

i=strlen(s); for(j=1;j<=i/2;j++) b=b&&(s[j-1]==s[i-j]); printf(b?"Yes\n":"No\n");} 执行结果: Input a string:level Yes 10. 源程序: main() {char s[255],t,max=0,min=0,l,i; printf("Input a string(length>4):"); gets(s); l=strlen(s); for(i=0;i<l;i++) {if(s[max]<s[i])max=i;if(s[min]>s[i])min=i;} t=s[1];s[1]=s[max];s[max]=t;if(min==1)min=max; t=s[l-2];s[l-2]=s[min];s[min]=t; printf("%s\n",s);} 执行结果: Input a string(length>4):C++Builder Cu+Beild+r 11. 源程序:

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

main() {char m[13][10]={"****","January","February","March", "April","May","June","July","August","September", "October","November","December"}; int i,j,k,a,s,n; printf("Please input an integer(100..999):"); scanf("%d",&n); printf("%d:%d+%d+%d=%d, %d%%13=%d, %s\n",

n,i,j,k,s,s,a,m[a=((s=(i=n/100)+(j=n/10%10)+(k=n%10))%13)]);} 执行结果: Please input an integer(100..999):539 539:5+3+9=17, 17%13=4, April

11 第 8 章 函 数 一、单项选择题(第 241 页) 1-5.BCCAA 6-10.CCDDD 11-15.ACACB 二、填空题(第 243 页) 1.看不出原题的意图。因为要计算 1~n 的累加和,n 应是一个≥1 的 正整数。 可是题目中却出现了 n=0 的情况。 除非另加规定当 n=0 时 1~

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

n 的累加和为 0,或者把原题中的计算式改为计算 0~n 的累加和。据 此猜测,原题应填为:①return(0) ②return(n+sum(n-1)) 根据题意,如下程序较为合理: int sum(int n) {if(n<=0)return(-1); /* -1 是出错标志 */ else if(n==1)return(1); else return(n+sum(n-1));} 2. ①return(1) ②return(n*facto(n-1)) 三、编程题(第 244 页) 3.源程序: main() {int i,a,b,c; for(i=100;i<999;i++) if((a=i/100)*a*a+(b=i/10%10)*b*b+(c=i%10)*c*c==i) printf("%d\t",i);} 执行结果: 153 370 371 407 8.源程序(非递归算法): #define P 13 /* P 可以改为其他正整数 */ main() {int a[P],r,c; for(r=0;r<=P;r++)

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

{a[r]=1; for(c=r-1;c>=1;a[c--]+=a[c-1]); printf("%*d",(P-r)*3+1,a[0]); for(c=1;c<=r;printf("%6d",a[c++])); printf("\n");} } 执行结果: (应该排列成一个三角形,是贴吧造成现在这个样子的,不是程序有 问题) 1 11 121 1331 14641 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 1 10 45 120 210 252 210 120 45 10 1 1 11 55 165 330 462 462 330 165 55 11 1 1 12 66 220 495 792 924 792 495 220 66 12 1

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1 9.源程序(递归算法): #include "stdio.h" void printOCT(unsigned long n) {unsigned long i; if(i=n>>3)printOCT(i); putchar((n&7)+48);} main() {unsigned long i; scanf("%ld",&i); printOCT(i);} 执行结果: 1234567890 11145401322 本题也可以不用递归算法,源程序请参考第 7 章第三题 4。

12 回复: 语言】 语言程序设计教程(第二版)》习题答案 【C 《C 但是不同时间印刷的版本课后题不太一样呢,象我们的是 1999 年 12 月第 2 版,2005 年 12 月第 69 次印刷的。没有选择填空,应用题

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

和楼主不知道有多少相同的,因为看不到原题。这个比较麻烦呢。

作者:210.77.204.*

2006-5-9 18:38

回复此发言

--------------------------------------------------------------------------------

13 回复: 语言】 语言程序设计教程(第二版)》习题答案 【C 《C 你对照一下主编和出版社,看看对吗?(见说明的第一条。) 我不是说叫你有问题另发帖子吗?

14 第 9 章 指 针 一、单项选择题(第 276 页) 1-5.DCDAC 6-10.CCABC 11-16.AABBB 16-20.DCDBD 二、填空题(第 278 页) 1.①int * ②*z 2.*p++ 3.①'\0' ②++ 4.①q=p+1 ②q<p+10 ③*q>max ④*q<min 三、编程题(第 280 页)

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Haigeer001 整理

7.源程序: main() {int i=0;char c[20]; do{scanf("%s",&c);i++;} while(strcmp(c,"stop")); printf("%d\n",i);} 执行结果: This car ran form Nanyang to Luoyang without a stop 10 9.源程序: main() {char s[255],c[255]={0};int i; gets(s); for(i=0;s[i];c[s[i++]]++); for(i=0;i<255;i++) if(c[i])printf("%c=%d\t",i,c[i]);} 执行结果: abcedabcdcd a=2 b=2 c=3 d=3 e=1


推荐相关:

...第二版)》李凤霞主编李书涛主审版习题答案.txt

北理工《C语言程序设计教程(第二版)》李凤霞主编李书涛主审版习题答案_工学_高等教育_教育专区。北理工《C语言程序设计教程(第二版)》李凤霞主编李书涛主审版习题...


北理工《C语言程序设计教程(第二版)》李凤霞主编李书涛....pdf

北理工《C 语言程序设计教程(第二版)》李凤霞主编李书涛主审版课后习题答案 Ha


C语言程序设计教程李凤霞第三版课后答案.doc

1 【C 语言】《C 语言程序设计教程(第二版)》习题答案 说 明 1. 本文所指的《C 语言程序设计教程(第二版)》李凤霞主编北京 理工大学出版社出版的,...


北理工《C语言程序设计教程(第二版)》李凤霞主编李书涛主审版习题....txt

北理工《C语言程序设计教程(第二版)》李凤霞主编李书涛主审版习题答案_建筑/土木_工程科技_专业资料。北理工《C语言程序设计教程(第二版)》李凤霞主编李书涛主审版...


C语言程序设计教程李凤霞第三版课后答案.pdf

C语言程序设计教程李凤霞第版课后答案 - 1 【C 语言】 《C 语言程序设计教程(第二版)》习 题答案 说明 1. 本文所指的 《C 语言程序设计教程(第二版)...


...《C语言程序设计教程(第二版)》北理工李凤霞版习题....doc

(由李凤霞老师提供)《C语言程序设计教程(第二版)》北理工李凤霞版习题答案_计算


C语言程序设计教程第三版(李凤霞)习题答案.doc

C语言程序设计教程第版(李凤霞)习题答案 - 教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空...


《C语言程序设计教程》(第三版)课后习题参考答案.doc

《C语言程序设计教程》(第版)课后习题参考答案。此文档是《C语言程序设计教程》(第版)(李凤霞主编)的课后答案。希望对大家有帮助。 ...


C语言程序设计教程第二版(李凤霞).txt

C语言程序设计教程第二版(李凤霞)_韩语学习_外语学习_教育专区。C语言程序设计教程第二版(李凤霞) 第一章:程序设计基础知识 一、单项选择题 1.C 2.B 3.B 4...


C语言程序设计_图文.ppt

教 材:《C语言程序设计教程》(第二版) 北京理工大学出版社 李凤霞《C语言程序设计教程习题与上机指导 北京理工大学出版社 王树武编 ? 上机环境:Turbo C ...


07《C课程设计》介绍_图文.ppt

C 语言课程设计 C语言课程设计 北京理工大学珠海学院...学院 李书涛 目录 C 语言课程设计 C语言课程设计 1...C 语言课程设计 材:《 C语言程序设计教程 》李凤霞...


朱澜0602231035.doc

13 北京理工大学珠海学院 参考文献: 《C 语言程序设计教程》 工大学出版社 C 语言经典例题分析 主编 李凤霞 主审 李书涛 北京理 14 ...

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com