ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:22.07KB ,
资源ID:8732401      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8732401.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计教程课后习题答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计教程课后习题答案.docx

1、C语言程序设计教程课后习题答案第1章1-3 CAB4 .c .obj .exe5 /* */6 ;7 算法8 中级语言:C语言具有高级语言的先进思想又能直接对存储器进行操作,能进行位运算,能实现汇编语言的大部分功能,生成目标代码质量高,程序执行效率高。结构化语言:C语言用函数作为程序模块,以实现程序的模块化,语言简洁、紧凑,具有结构化的特点。可移植性好:C语言不包含依赖硬件的输入输出机制,使C语言本身不依赖于硬件系统,可移植性好。9 #includemain( ) ; 10 #include “” main() printf(“This is my first C Program!”); 第2

2、章1 yes2 -33 2,14 1)a!=b|a=4|x20&x30|x-1006 #include main() int x;printf(“please input an integar:”); scanf(%d,&x); if(x%5=0&x%7=0) printf(yesn); else printf(non);7.#include main() int year,month; printf(please input the year and month:); scanf(%d%d,&year,&month); switch(month) case 1: case 3: case 5

3、: case 7: case 8: case 10: case 12:printf(this month have 31 days.); break; case 4: case 6: case 9: case 11:printf(this month have 30 days.); break; case 2:if(year%4=0&year%100!=0|year%400=0) printf(this month have 29 days.); break; else printf(this month have 28 days.); break; 8. #include main() fl

4、oat money; int year; printf(nplease input the money and the year:); scanf(%f%d,&money,&year); if(year=1) money+=money*12*year; if(year=2) money+=money*12*year; if(year=3|year=4) money+=money*12*year; if(year=5&year=8) money+=money*12*year; printf(the money is:%f,money);第3章1 #include main() float x10

5、,sum=0; int i=0; printf(please input 10 numbers(-10e6x10e6)n); while(i10) scanf(%f,&xi); sum=sum+1/xi; i=i+1; printf(the sum of 10 numbers is %.2fn,sum);2#include main() int x100,sum=0,aver,i=0; printf(please input numbers until 0n); scanf(%d,&xi); while(xi!=0) sum=sum+xi; i=i+1; scanf(%d,&xi); prin

6、tf(the sum is %dn,sum); printf(the average is %.2fn,float(sum)/i);3#include #include main() int i=1,j,f; long int s=0; while(i=10) for(f=1,j=1;j=i;j+) f=f*j; s=s+pow(-1,i-1)*f; i=i+1; printf(s= %ldn,s);4#include #include main() int i=0; float s=; while(2*i+1=101) s=s+pow(-1,i)/float(2*i+1); i=i+1; p

7、rintf(s= %fn,s);5#include #includemain() int i,j,k,n=0; for(i=1;i=9;i+) for(j=0;j=9;j+) for(k=0;k=9;k+) if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(the %d:%dn,+n,i*100+j*10+k); printf(the all is %d.n,n-);6#include main() int n,i,j; printf(please input n:); scanf(%d,&n); for(i=0;in;i+) for(j=0;jn;j+) p

8、rintf(*); printf(n); 7#include main() char a81; int i,j=0,k=0,m=0; printf(please input a $(length=65&ai=90) j+; else if(ai=32) k+; else m+; printf(the upper letter is %dn,j); printf(the blank is %dn,k); printf(the other is %dn,m);8#include main() int i,j,k,m=0; for(i=0;i=20;i+) for(j=0;j=50;j+) for(

9、k=0;k=100;k+) if(i*5+j*2+k=100) printf(the %d wag is 1:%d,2:%d,5:%dn,+m,k,j,i); printf(the wags is %dn,m-); 9#include main() int i,j,k,m=0; for(i=0;i=3;i+) for(j=0;j=3;j+) for(k=0;k=6;k+) if(i+j+k=8) printf(the %d wag is white:%d,red:%d,black:%dn,+m,i,j,k); printf(the wags is %dn,m-); 10#include mai

10、n() long int n; int i,j,k; printf(please inpur n:); scanf(%ld,&n); if(n%2=1|n=1) printf(the input is error.n); return(1); for(i=2;i=n/2;i+) for(j=2;ji;j+) if(i/j*j=i) break; if(j=i) for(k=2;kn-i;k+) if(n-i)/k*k=(n-i) break; if(k=n-i) printf(%ld=%d+%dn,n,i,n-i); 11#include main()int i,j,k,m; for(i=1;

11、i=9;i+) for(j=0;j=9;j+) for(k=0;k=9;k+) for(m=0;m=A&stri=a&stri=0&stri=9) num2+; i+; printf(num1=%d,num2=%d,num1,num2);9笔者在程序中直接给数组元素赋了值,读者可以修改为用scanf函数读入数值;另外,还可以用第7章宏定义的方法设定数组的长度,从而实现对元素个数不同的数组进行排序。#include main() int a5=2,4,1,3,0,i,j,temp; for(i=0;i=4;i+) printf(%d,ai); printf(n); for(j=1;j=4;j+)

12、 for(i=j;i=4;i+) if(aiaj-1) temp=aj-1; aj-1=ai; ai=temp; for(i=0;i=4;i+) printf(%d,ai);第6章1-5 AADBA 6 C7 0 2 4 6 8 10 12 14 16 180 2 4 6 8 10 12 14 16 188 a+b=99 5+4+1=10 10+4+2=16 20+4+3=2710加密:#include main() char string100,i=0,number=0; scanf(%s,string); while(stringi+!=0) number+; fun1(string,nu

13、mber); printf(%s,string);fun1(char str,int num) int i; for(i=0;i=A&stri=a&stri=0&striV&striv&stri5&stri=9) stri-=6;解密#include main() char string100,i=0,number=0; scanf(%s,string); while(stringi+!=0) number+; fun2(string,number); printf(%s,string);fun2(char str,int num) int i; for(i=0;i=E&stri=e&stri

14、=4&stri=A&stri=a&stri=0&stri4) stri+=6;第8章一、下列语句是否合法语句:int *p = &x, x = 13;点评:不合法,因为x变量没有定义。在执行int *p = &x 时,x变量的定义在后面。参考:int x = 13, *p = &x;语句:int *p = &x = 13;点评:不合法,因为x变量没有定义。在执行int *p = &x = 13 时,x变量没有定义。参考:int x = 13, *p; p = &x;语句:int x = 13,*p = x;点评:不合法,不能把x变量的值赋给指针p。应该把变量x的地址值赋给指针p。参考:int

15、x = 13, *p; p = &x;语句:int y5 = 1,2,3,4,5,*p = y3;点评:不合法,不能把数组元素y3的值赋给指针p,应该把数组元素y3的地址值赋给指针p。参考:int y5 = 1,2,3,4,5,*p ; p = &y3;语句:int *p = y,y5 = 1,2,3,4,5;点评:不合法,因为数组y没有定义。参考:int y5 = 1,2,3,4,5,*p; p = y;语句:int y5 = 1,2,3,4,5,*p = &y;点评:不合法,不能把数组y的地址值赋给指针p。数组名y本身是数组y的地址常量值。参考:int y5 = 1,2,3,4,5,*p;

16、 p = y;或 int y5 = 1,2,3,4,5,*p; p = &y0;语句:int *c = &ch,ch = Hello World;点评:不合法,ch变量没有定义,字符串Hello World不能赋给变量ch。参考:char *ch = Hello World!;或char *ch;ch = Hello World;语句:char ch12 = Hello World,*c = ch;点评:合法。思考:char ch12 = Hello World!,*c = ch;该语句错误,字符个数超出数组ch定义的宽度。语句:char *c = ch12 = Hello World点评:不

17、合法,数组ch没有定义。数组ch没有第12个元素。参考:char *c,ch12 = Hello World;c = ch;语句:char *c,c = X,c = &c;点评:不合法,不能把常量X的值赋给指针,不能把指针c的地址值赋给指针c自己。参考:char *c,ch; ch = X,c = &ch;二、综合练习题参考答案1将一字符串复制到另一字符串中。#includevoid main() char str1128,str2128 = Welcome to C Language; char *cp1,*cp2; cp1 = str1; cp2 = str2; while(*cp1+ =

18、 *cp2+); puts(str1);2将一字符串与另一字符串相连接。#includevoid main() char str1128 = Welcome ,str2128 = to C Language; char *cp1,*cp2; int i = 0,n = 0; while(n+,str1+i != 0); cp1 = str1+n; cp2 = str2; while(*cp1+ = *cp2+); puts(str1);3将字符数组中大写字符改为小写字符,将小写字符改为大写字符。#includevoid main() char str1128 = Welcome to C La

19、nguage; char *cp1 = str1; while(*cp1) if(*cp1 = A & *cp1 = a & *cp1 = z) *cp1 = *cp1-32; else *cp1 = *cp1; cp1+; puts(str1);4从一字符串中取出部分字符串复制到另一字符串中。#includevoid main() char ch128,*cp,str128,*sp; int b,n,l=0,i; cp=ch; sp=str; gets(cp); scanf(%d%d,&b,&n); while(l+,*(ch+l)!=0); if(nl) for(i=0;in;i+) *(

20、sp+i)=*(cp+b+i); *(sp+i)=0; puts(str); else printf(无数据可以复制); 5完成一整型数组的排序。#include#includevoid main() int x10,i,j,*p,t; p = x; for(i = 0;i10;i+) xi = rand(); for(i = 0;i9;i+) for(j = 0;j*(p+j+1) t = *(p+j); *(p+j) = *(p+j+1); *(p+j+1) = t; for(i = 0;i10;i+) printf(%dt,*p+);6将一个字符串中的字符反序排列。#includevoi

21、d main() char ch128,c,*cp1,*cp2; int i,n = 0; gets(ch); cp1 = ch; cp2 = ch; while(*cp2!= 0) n+; cp2+; cp2-; n = n/2; for(i = 0;in;i+) c = *cp1; *cp1 = *cp2; *cp2 = c; cp1+; cp2-; puts(ch);7编函数完成将一字符串中的字符全部改为大写。#includevoid cove(char *cp) while(*cp!= 0) if(*cp= a & *cp= z) *cp = *cp-32; cp+; void mai

22、n() char ch128,*cp; cp = ch; gets(cp); cove(cp); puts(ch);8编函数完成从一字符串左边取若干字符复制到另一字符串中。#includevoid lm(char *lcp,char *bcp,int n) int i; for(i = 0;in;i+) *(bcp+i) = *(lcp+i); *(bcp+i) = 0;void main() char ch128,*cp,str128; int n,l =0; gets(ch); scanf(%d,&n); while(l+,*(ch+l)!= 0); if(nl) cp = ch; lm(cp,str,n); puts(str); else printf(无数据可以复制);第9章1#include struct date int year; int month; int day;main() struct date re; int day212=31,29,31,30,31,30,31,31,30,31,30,31,31,28,31,30,31,30,31,31,30,31,30,31; int i,da

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1