C语言程序设计教程 杨路明 课后习题答案 北京邮电大学

上传人:痛*** 文档编号:181649113 上传时间:2023-01-15 格式:PDF 页数:73 大小:583.20KB
收藏 版权申诉 举报 下载
C语言程序设计教程 杨路明 课后习题答案 北京邮电大学_第1页
第1页 / 共73页
C语言程序设计教程 杨路明 课后习题答案 北京邮电大学_第2页
第2页 / 共73页
C语言程序设计教程 杨路明 课后习题答案 北京邮电大学_第3页
第3页 / 共73页
资源描述:

《C语言程序设计教程 杨路明 课后习题答案 北京邮电大学》由会员分享,可在线阅读,更多相关《C语言程序设计教程 杨路明 课后习题答案 北京邮电大学(73页珍藏版)》请在装配图网上搜索。

1、file:/F|/khdaw/暑假/c语言习题/第1章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:171、算法描述主要是用两种基本方法:第一是自然语言描述,第二是使用专用工具进行算法描述2、c语言程序的结构如下:1、c语言程序由函数组成,每个程序必须具有一个main函数作为程序的主控函数。2、/*与*/之间的内容构成c语言程序的注释部分。3、用预处理命令#include可以包含有关文件的信息。4、大小写字母在c语言中是有区别的。5、除main函数和标准库函数以外,用户可以自己编写函数,程序一般由多个函数组成,这些函数制定实际所需要做的工作。例如:void mai

2、n()int a,b,c,s;a=8;b=12;c=6;s=a+b*c;printf(s=%dn,s);3、c语言的特点:1、c语言具有结构语言的特点,程序之间很容易实现段的共享;2、c语言的主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译成代码,以实现程序的模块化。3、c语言运算符丰富,运算包含的范围很广;4、c语言数据类型丰富。5、c语言允许直接访问物理地址,即可直接对硬件进行操作,实现汇编语言的大部分功能;6、c语言语法限制不太严格,程序设计自由度大,这样是c语言能够减少对程序员的束缚;7、用c语言编程,生成的目标代码质量高,程序执行效率高,可移植性好;4、合法标识符

3、:AB12、leed_3、EF3_3、_762、PAS、XYZ43K2file:/F|/khdaw/暑假/c语言习题/第1章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:17 不合法标识符:a*b2、8stu、D.K.Jon、if、ave#xy、#_DT5、C.D5、F2:将当前编辑器中文件存盘 F10:调用主菜单 F4:程序运行到光标所在行 Ctrl+F9:当前编辑环境下,进行编译、连接且运行程序;Alt+F5:将窗口切换到DOS下,查看程序运行结果6、(1):*welcome you very good *(2):please input three numb

4、er;5,7,8 max number is:87、main8、User screen、Alt+F59、标识符必须是字母或下划线开头,大小写字母含义不同。由数字、字母和下划线组成;关键字是一种语言中规定具有特定含义的标识符。关键字不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。10、选择主菜单File项下拉子菜单中Save项或直接按F2键存盘。file:/F|/khdaw/暑假/c语言习题/第2章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:121、符合C语法规定的常数为:0 x1e、abn、1.e52、(1):错误如下:int x,y=5,z=5,a

5、ver;x=7;aver=(x+y+x)/3;结果如下:AVER=5 (2):错误如下:char c1=a,c2=b,c3=c;printf(a=%db=%cendn,a,b);结果如下:a=3b=Aend aabcc abc3、4、(1):9,11,9,10 (2):3,1,0,0 (3):11,19,31,15、(1):0 (2):0 (3):9.500000 (4):90 (5):10 (6):10 (7):65 (8):4 (9):4.500000 (10):1 (11):0 (12):20 (13):0file:/F|/khdaw/暑假/c语言习题/第2章 课后答案【khdaw_lx

6、ywyl】.txt2009-8-10 0:45:126、(5)7、求x的绝对值8、c(max=ab?a:b)?c:max;9、B10、Dfile:/F|/khdaw/暑假/c语言习题/第3章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:191、输入函数scanf的参数错误,应该为:scanf(%f,&k);2、|1234 1234|3、ff104、1,3,15、原字符串 左边加空格再加字符串本省,字符个数总和为5个6、scanf(%d,%d,%c,%c,&a1,&a2,&c1,&c2);7、printf(a+b=%dn,a+b);printf(a-b=%dn,a-

7、b);printf(a*b=%dn,a*b);printf(a/b=%dn,a/b);printf(float)a/b=%fn,(float)a/b);printf(a%b=%dn,a%b);8、void main()float r;float s,c;printf(please input the number:);scanf(%f,&r);if(r=0)s=3.14*r*r;c=2*3.14*r;printf(s=%f,c=%fn,s,c);else printf(you input number is error!);9、void main()file:/F|/khdaw/暑假/c语言习

8、题/第3章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 int n;printf(please input the number:);scanf(%d,&n);if(n=100&n c|a+c b|b+c a)s=(a+b+c)/2;file:/F|/khdaw/暑假/c语言习题/第3章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 Area=sqrt(s*(s-a)*(s-b)*(s-c);printf(%fn,Area);else printf(you input the number is error!n);file:

9、/F|/khdaw/暑假/c语言习题/第4章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:161:02:203:(x20)|(x-100)4:*a=25,b=14,c=16*5:376:if(a=b)printf(1);else printf(2);7、#includevoid main()char a,b,t1,t2;scanf(%c,%c,&a,&b);t1=ab?a:b;t2=ab?a:b;if(t1-t2)%2=0)printf(%c,%c,a+1,b+1);else printf(%c,%c,a-1,b-1);getch();8、#includevoid

10、 main()int temp1=0,temp2=0,x,y,i=1;printf(Please input(x,y):);file:/F|/khdaw/暑假/c语言习题/第4章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 scanf(%d,%d,&x,&y);while(i*y)shang=%d,yushu=%d,x,y,temp2,x-y*temp2);getch();9、#includevoid main()float x,y,m=0,n=0;scanf(%f,%f,&x,&y);n=(x-2)*(x-2);m=(y-2)*(y-2);if(m+n)=

11、1)printf(%.3f,%.3f)In the yuan,x,y);else printf(%.3f,%.3f)out of the yuan,x,y);getch();10、#includevoid main()int temp=0,month,year;file:/F|/khdaw/暑假/c语言习题/第4章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 printf(Please input(year,month):);scanf(%d,%d,&year,&month);if(year%400=0)|(year%4=0&year%100!=0)temp

12、=1;if(month=2)if(temp)printf(%d year%d month have 29,year,month);else printf(%d year%d month have 28,year,month);else if(month%2=0)printf(%d year%d month have 30,year,month);else printf(%d year%d month have 31,year,month);getch();11、switch(a/10)case 5:m=4;break;case 4:m=3;break;case 3:m=2;break;case

13、 2:m=1;break;default:m=5;12、方法一:#includevoid main()int x,y;scanf(%d,&x);if(x-5)y=x-1;file:/F|/khdaw/暑假/c语言习题/第4章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 else if(x=0)y=x;else if(x0&x8)y=x+1;printf(%d,y);getch();方法二:#includevoid main()int x,y;scanf(%d,&x);if(x-5)if(x=0)y=x;else if(x0&x8)y=y=x+1;else y

14、=x-1;printf(%d,y);else printf(Input error!);getch();方法三:#includevoid main()int x,y,i;scanf(%d,&x);if(x-5)if(x=0)i=1;else if(x0&x8)i=2;file:/F|/khdaw/暑假/c语言习题/第4章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 else i=3;else i=4;switch(i)case 1:y=x;printf(%d,y);break;case 2:y=x+1;printf(%d,y);break;case 3:y=

15、x-1;printf(%d,y);break;case 4:printf(Input error!);break;getch();file:/F|/khdaw/暑假/c语言习题/第5章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:171、void main()int n,value;int i,count=0;float average=0;long int sum=0;scanf(%d,&n);for(i=0;i=A&ch=a&ch=0&ch=9)sz+;ch=getchar();printf(zm=%d ;sz=%dn,zm,sz);3、void main()

16、long i_value;int sum=0;int temp=0;scanf(%ld,&i_value);if(i_value=A&ch=a&ch 500)break;printf(the%d years later complete!n,count);6、void main()int i,temp=0,bit=0;for(i=1;i=999;i+)if(i%3=0)temp=i;for(;temp!=0;)bit=temp%10;if(bit=5)printf(%d,i);break;temp=temp/10;file:/F|/khdaw/暑假/c语言习题/第5章 课后答案【khdaw_l

17、xywyl】.txt2009-8-10 0:45:17 printf(b n);7、#include int main(void)int steps=29,i=1;while(steps%7)steps=(30*+i)-1;printf(Total steps:%dn,steps);return 0;8、main()int i,j,k,n;printf(the narcissus number is:n);for(n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;file:/F|/khdaw/暑假/c语言习题/第5章 课后答案【khdaw_lxywyl】.tx

18、t2009-8-10 0:45:17 if(i*i*i+j*j*j+k*k*k=n)printf(%dn,n);9、main()float i,j,temp,n,sum;int t;i=2;j=1;sum=0;scanf(%d,&t);for(n=1;n=t;n+)sum=sum+i/j;temp=i;i=i+j;j=temp;printf(2/1+3/2+5/3+8/5+13/8+.=%fn,sum);10、void main()int nWidth,a,b;scanf(%d,&nWidth);for(a=(nWidth%2);a=nWidth;a+=2)for(b=0;b=nleft&bn

19、right)file:/F|/khdaw/暑假/c语言习题/第5章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:17 chOut=*;printf(%c,chOut);printf(n);11、void main()int i=1,j=1;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%d,i,j,i*j);printf(n)12、#include stdio.hvoid main()char c;/count1是正数的个数 /count2是负数的个数 int count1=0,count2=0;/sum1是正数之和 /su

20、m2是负数之和 int sum1=0,sum2=0;file:/F|/khdaw/暑假/c语言习题/第5章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:17 int flage=0;c=getchar();while(c!=*)if(c=-)flage=1;if(flage=0)sum1+=(c-48);count1+;else if(c!=-)sum2-=(c-48);flage=0;count2+;c=getchar();printf(%d,%dn,count1,count2);printf(%f,%fn,sum1/count1,sum2/count2);13

21、、void main()int i,j;int s=0;for(i=100;i=999;i+)s=0;for(j=1;j i-1;j+)if(i%j=0)s=s+j;if(s=i)printf(%5d,i);file:/F|/khdaw/暑假/c语言习题/第5章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:1714、#include#include void main()int n;long k=1;float e=1;n=1;clrscr();while(fabs(1.0/k)=0.000001)n+;e=e+1.0/k;k=k*n;printf(%fn,e);

22、15、#include math.hmain()float x0,x1,x2,f0,f1,f2;x1=-10;f1=2*x1*x1*x1-4*x1*x1+3*x1;x2=10;f2=2*x2*x2*x2-4*x2*x2+3*x2;do x0=(x1+x2)/2;f0=2*x0*x0*x0-4*x0*x0+3*x0;file:/F|/khdaw/暑假/c语言习题/第5章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:17 if(f0*f1)1e-6);printf(_2*x*x*x-4*x*x+3*x=0_n);printf(the root is%fn,x0);fi

23、le:/F|/khdaw/暑假/c语言习题/第6章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:161、#includeint divisor(int a,int b)int r;while(r=a%b)!=0)a=b;b=r;return b;int multiple(int a,int b)int d;d=divisor(a,b);return a*b/d;void main()int a,b,c,d;printf(intput(a,b):);scanf(%d,%d,&a,&b);c=divisor(a,b);d=multiple(a,b);printf(nd

24、ivisor=%dttmultiple=%d,c,d);2、#includevoid tongji(char a)int b3=0,0,0,i=0;while(ai!=0)if(ai=65)|(ai=97)file:/F|/khdaw/暑假/c语言习题/第6章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 b0+;else if(ai=48)b1+;else b2+;i+;printf(zimu have:%d;shuzi have:%d;qita have:%d,b0,b1,b2);getch();void main()char a100;printf(Pl

25、ease input a string:);gets(a);tongji(a);3、#includeint flower(int n)int x=0,i,j,k;i=(n%10);j=(n/10%10);k=(n/100);x=i*i*i+j*j*j+k*k*k;if(x=n)return 1;else return 0;void main()int i,n;file:/F|/khdaw/暑假/c语言习题/第6章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 printf(Please intput n:);scanf(%d,&n);if(n999|n100)

26、printf(Input error!);else for(i=100;in;i+)if(flower(i)printf(%d ,i);getch();4、#include#define SWAP(a,b)t=b;b=a;a=t;main()float x,y,t;printf(Enter two number(x,y):);scanf(%f,%f,&x,&y);SWAP(x,y);printf(nnExchanged:x=%f,y=%f,x,y);getch();5、#includeint fib(int n)int p;if(n=0)p=0;else if(n=1)p=1;else p=f

27、ib(n-1)+fib(n-2);return p;void main()file:/F|/khdaw/暑假/c语言习题/第6章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 int n;printf(Please input fib:);scanf(%d,&n);printf(nnfibonacci=%d,fib(n);6、#includelong fac(int n)long f;if(n=0)f=1;else f=n*fac(n-1);return f;void main()int m,n;long f;printf(Please input(m,n):

28、);scanf(%ld,%ld,&m,&n);f=fac(n+m)+fac(n);printf(nnfibonacci=%ld,f);7、#includevoid list()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%d,i,j,i*j);printf(n);file:/F|/khdaw/暑假/c语言习题/第6章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 void main()list();8、#includeint he(int n)int i,s=0;for(i=1;in;i+)if(n%i

29、=0)s+=i;return s;void main()int i,j;for(i=1;i30000;i+)for(j=1;j30000;j+)if(he(i)=j)&(he(j)=i)&(i!=j)printf(%d%d ,i,j);9、#include#define max 100struct work long sid;char name15;workermax;int size=0;file:/F|/khdaw/暑假/c语言习题/第6章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16struct work*set_list()do printf(nnPl

30、ease input(sid,name):);scanf(%ld,%s,&workersize.sid,workersize.name);size+;while(workersize-1.sid!=0);return worker;void paixu(struct work a)int i,j,k;long t;char v15;for(i=0;isize-1-2;i+)k=i;for(j=i;jaj.sid)k=j;if(k!=i)t=ai.sid;ai.sid=aj.sid;aj.sid=t;strcpy(v,ai.name);strcpy(ai.name,aj.name);strcpy

31、(aj.name,v);for(i=0;i=size-2;i+)printf(sid:%ldtname:%snn,ai.sid,ai.name);getch();void select(struct work a)int i=0,found=1;long num;printf(Input select sid:);scanf(%ld,&num);for(i=0;i=size-2;i+)if(ai.sid=num)file:/F|/khdaw/暑假/c语言习题/第6章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 found=0;printf(%ld:%s,nu

32、m,ai.name);break;if(found)printf(nnNO this sid!);getch();void main()struct work*p;p=set_list();paixu(p);select(p);10、#includefloat jiecheng(int n)long s=1;int i;for(i=1;i=n;i+)s=s*i;return s;float chengfang(float x,int n)float s=1;int i;for(i=1;i=n;i+)s=s*x;return s;float f(float x,int n)file:/F|/kh

33、daw/暑假/c语言习题/第6章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 float s=1,t=0;int i=1,j=-1;for(i=1;i=0 ak=temp break k=8 (2)%s stri=Z cstri+26-a+i+a4、/*题目:求一组成绩的平均分数以及高于平均分的成绩。*/#include#define max 100void main()float amax,s=0,average=0;int i,n;printf(Please input N:);/*输入要处理元素的个数*/scanf(%d,&n);printf(nPle

34、ase input%d ge shu:,n);/*输入90,85,92,77,80,62*/for(i=0;in;i+)file:/F|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 scanf(%f,&ai);s+=ai;average=s/n;printf(naverage=%.2fn,average);/*输出81.00*/for(i=0;iaverage)printf(%.2f ,ai);/*输出90.00,85.00,92.00*/5、/*题目:编写程序,输入一组整数,将他们排序后由小到大输出。*/#includ

35、e#define max 100void main()int amax,j,i,k=0,t=0,n=0;printf(Please input N:);/*输入要处理元素的个数*/scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);for(i=0;in-1;i+)/*比较n-1遍*/k=i;for(j=i+1;jaj)k=j;if(k!=i)/*元素排序前下标与排序后下标不符,则交换其值*/t=ai;ai=ak;ak=t;file:/F|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 prin

36、tf(nn);for(i=0;in;i+)printf(%d ,ai);6、/*题目:从键盘输入一个4x4的整数矩阵,以主对角线()为对称轴*/*将左下角元素中较大者替换右上角元素,并将右上角含对称轴输出。*/#include#includevoid main()int d44=0,0,0,0,i,j;clrscr();printf(nPlease input 16 num:);for(i=0;i4;i+)for(j=0;j4;j+)scanf(%d,&dij);for(i=0;i4;i+)for(j=0;jdji)/*左下角元素大于右上角元素则交换*/dji=dij;for(i=0;i4;i

37、+)printf(nnnnn);/*为了保持每行的间隔与每列的相同*/for(j=0;j=i)printf(t%d,dij);/*为了使位数不同的数输出依然保持三角型*/elsefile:/F|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 printf(t);7、*题目:输入一个3x4的二维数组,然后分别按行和按列输出。*/#include#includevoid main()int d34=0,0,0,0,i,j;printf(Please input 12 num:);for(i=0;i3;i+)for(j=0;j4

38、;j+)scanf(%d,&dij);printf(nnAn hang:);for(i=0;i3;i+)for(j=0;j4;j+)printf(%d ,dij);printf(nnAn lie:);for(i=0;i4;i+)for(j=0;j3;j+)printf(%d ,dji);8、/*题目:编写程序,将两个字符串连接起来,不用strcat函数。*/#include#includevoid main()file:/F|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 char s150,s250;int i=0,j=

39、0,t=0;printf(Input one:);gets(s1);while(s1i!=0)i+;/*统计s1中字符个数*/printf(nnInput second:);gets(s2);while(s2j!=0)j+;/*统计s2中字符个数*/for(t=0;t=j;t+)/*把s2中字符连接到s1后面*/s1i=s2t;i+;printf(nnone+second:);puts(s1);9、/*输入一行字符串,统计字符对ab的个数。*/#include#include#define MAX 100void main()char strMAX;int i=0,flage=0;int co

40、unt=0;printf(nPlease input a string:);gets(str);while(stri)if(stri=a)flage=1;else if(stri=b)file:/F|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 if(flage=1)count+;flage=0;else flage=0;i+;printf(the double char ab count is%dn,count);10、#include /*相对于第一种方法,这种方法能把同为最大的字符串全部打印出来。*/#includ

41、eint paixu(int a,int n)/*构造对长度为n的数组排序的函数*/int i,j,t,k,temp;for(i=0;in-1;i+)k=i;for(j=i+1;jaj)k=j;if(k!=i)t=ai;ai=ak;ak=t;temp=an-1;return temp;/*返回最大字符串的长度的值*/file:/F|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19void main()char str150,str250,str350,str450,str550,str650;char str750,str8

42、50,str950,str1050;int count10=0,temp10=0,i,j;int paixu(int a,int n);for(i=1;i=10;i+)/*输入10个字符串*/printf(nPlease input%d string:,i);if(i=1)gets(str1);while(str1count0)count0+;temp0+;if(i=2)gets(str2);while(str2count1)count1+;temp1+;if(i=3)gets(str3);while(str3count2)count2+;temp2+;if(i=4)gets(str4);wh

43、ile(str4count3)count3+;temp3+;if(i=5)gets(str5);while(str5count4)count4+;temp4+;if(i=6)gets(str6);while(str6count5)count5+;temp5+;if(i=7)gets(str7);while(str7count6)count6+;temp6+;if(i=8)gets(str8);while(str8count7)count7+;temp7+;if(i=9)gets(str9);while(str9count8)count8+;temp8+;if(i=10)gets(str10);

44、while(str10count9)count9+;temp9+;file:/F|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 j=paixu(temp,10);for(i=1;i=10;i+)if(counti-1=j)/*只要字符串长度与最大长度相等就打印出来*/switch(i)case 1:puts(str1);printf(n);break;case 2:puts(str2);printf(n);break;case 3:puts(str3);printf(n);break;case 4:puts(str4);

45、printf(n);break;case 5:puts(str5);printf(n);break;case 6:puts(str6);printf(n);break;case 7:puts(str7);printf(n);break;case 8:puts(str8);printf(n);break;case 9:puts(str9);printf(n);break;case 10:puts(str10);printf(n);break;11、/*给数组a输入m个按升序排列的数,给数组b输入n个按降序排列的数*/*将a与b中的元素按降序排列存在数组c中。*/#includevoid main

46、()int a100,b100,c100,i,m,n,j,k,temp=0,s;printf(nm=);scanf(%d,&m);/*确定M的个数*/file:/F|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 printf(nn=);scanf(%d,&n);/*确定N的个数*/printf(nPlease input m ge shu:);for(s=0;sm;s+)scanf(%d,&as);printf(nPlease input n ge shu:);for(s=0;sn;s+)scanf(%d,&bs);i=

47、m-1;j=0;k=0;/*i,j,分别标记a与b且都是从最大元素开始做标记*/for(;)if(i=0)/*a中只有一个数或者a处理到了最后一个元素*/if(ai=bj)/*如果a的最后一个元素=b中当前元素*/ck=bj;k+;j+;else ck=ai;k+;for(;)/*把b数组接到c后面*/ck=bj;j+;k+;if(j=n)/*如果b处理完,结束。并做标记temp=1*/temp=1;break;if(temp=1)break;/*标记temp=1,全部处理结束*/if(aibj)&(i!=0)&(j!=n)ck=ai;i-;k+;if(j=n)/*b处理到完*/file:/F

48、|/khdaw/暑假/c语言习题/第7章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:19 for(;)/*把b数组接到c后面*/if(i=0)/*如果a处理完,结束。并做标记temp=1*/ck=ai;temp=1;break;ck=ai;i-;k+;if(temp=1)break;/*标记temp=1,全部处理结束*/for(s=0;s=*q;q+(2)i11&ai i-;if(i=0)break;i!=0 4、/*题目:输入一个字符串,再删除指定的字符*/*如果字符串中没有指定字符,则输出原字符串。*/#includevoid fun(char*str,ch

49、ar c)char*p;for(p=str;*p!=0;p+)if(*p!=c)*str+=*p;*str=0;void main()char str80,c;printf(nPlease input a string:);gets(str);printf(nnPlease input delete char:);scanf(%c,&c);fun(str,c);puts(str);getch();file:/F|/khdaw/暑假/c语言习题/第8章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:165、/*从键盘输入单词,每个单词之间用空格隔开,“.”号结束输入,

50、*/*将每个单词的第一个字母转化成大写字母。*/#include#includechar zhuanhua(char c)/*定义将小写字母转化为大写字母的函数*/char C;if(c=a&c=z)/*是小写字母就转化,不是则原样返回*/C=c-32;else C=c;return C;/*此函数防止有标点符号或者第一个字母本身是大写字母*/void main()char a100,*p=a;int i=1,j;a0=;p+;/*为方便下面的if语句,初始化a0为空格*/printf(nPlease input a string:);for(;)scanf(%c,p);if(*p=.)bre

51、ak;p+;i+;ai=0;for(j=1;ji;j+)if(aj-1=&aj!=)/*第一个字母前面可能有很多空格*/aj=zhuanhua(aj);/*调用转化函数,使其变为大写字母*/file:/F|/khdaw/暑假/c语言习题/第8章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16 p=a;while(*p)printf(%c,*p);p+;getch();6、/*输入8个数,排序后输出。*/#include#includevoid main()int data8,i,*p1,*p2,temp;p1=data;printf(nInput 8 numbe

52、r:);for(i=0;i8;i+)scanf(%d,p1);p1+;for(p1=data;p1data+8-1;p1+)for(p2=p1+1;p2data+8;p2+)if(*p1*p2)temp=*p1;*p1=*p2;*p2=temp;for(i=0,p1=data;i8;i+,p1+)printf(%d ,*p1);getch();7、/*题目:输入一个字符串,将此字符串的m个字符开始的第n个字符复制到另一个字符串。*/#includevoid main()int m,n,i;char a100,b100,*p,*q;file:/F|/khdaw/暑假/c语言习题/第8章 课后答案

53、【khdaw_lxywyl】.txt2009-8-10 0:45:16 printf(Please input a string:);gets(a);p=a;q=b;printf(nnPlease input m and n(like 1,1):);scanf(%d,%d,&m,&n);if(strlen(a)=m)&(strlen(a)-m+1)=n)/*复制的位置要符合要求*/p+=m-1;/*指针指向第一个要复制的字符*/for(i=0;in;i+)*q=*p;p+;q+;*q=0;printf(String a is:%sn,a);printf(string b is:%sn,b);e

54、lse printf(nError!);/*复制的位置不符合要求,打印错误*/getch();8、/*输入8个数,将最大的数与第一个数对换。*/*将最小的数与最后一个数对换*/#includevoid main()int a100,temp1=0,temp2=0,max=0,min=0,k;printf(nPlease input 8 ge shu:);for(k=0;k8;k+)scanf(%d,&ak);if(akamax)max=k;/*用标记max最大值的下标*/file:/F|/khdaw/暑假/c语言习题/第8章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:

55、45:16 if(min=0)if(max=7)temp1=a0;a0=a7;a7=temp1;else temp2=a7;a7=amin;a0=amax;amax=temp2;else if(max=0)if(min!=7)temp2=a7;a7=amin;amin=temp2;else if(min=7)temp1=a0;a0=amax;amax=temp1;else if(max=7)temp2=a7;a7=amin;amin=a0;a0=temp2;else temp1=a0;temp2=a7;a0=amax;a7=amin;amin=temp2;amax=temp1;for(k=0;

56、k8;k+)printf(%d ,ak);getch();file:/F|/khdaw/暑假/c语言习题/第8章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:169、/*输入n个数,并排序后输出。*/#include#includeint*paixu(int data,int n)int i,*p1,*p2,temp;p1=data;for(p1=data;p1data+n-1;p1+)for(p2=p1+1;p2data+n;p2+)if(*p1*p2)temp=*p1;*p1=*p2;*p2=temp;p1=data;return p1;void main()

57、int n,a100,i,*p=a;printf(Please input n:);scanf(%d,&n);printf(nnPlease enter%d ge shu:,n);for(i=0;in;i+)scanf(%d,p);p+;p=paixu(a,n);for(i=0;in;i+,p+)printf(%d,*p);getch();10、#includestdio.h#define max 1042file:/F|/khdaw/暑假/c语言习题/第8章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:16main()float j,amax;int t,i=0

58、;char bmax,*p=b;clrscr();printf(Enter a string:);gets(b);while(*p!=0)ai=0;while(*p)=0)&(*p)!=0)t=(int)(*p-48);ai=ai*10+t;p+;if(*p)9|(*p)0)i+;p+;for(j=0;ji;j+)printf(t%.0f,aj);printf(nALL%d,i);file:/F|/khdaw/暑假/c语言习题/第9章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:181、li 45 300.0 chang 30 200.0 chang2、#incl

59、udestruct students char sid100;char name100;float score3;student;void main()int i;float j;printf(nPlease input sid:);scanf(%s,student.sid);printf(nPlease input name:);scanf(%s,student.name);printf(nPlease input 3 score:(like1,1,1);/*输入逗号隔开*/scanf(%f,%f,%f,&student.score0,&student.score1,&student.sco

60、re2);printf(nsid=%s,student.sid);printf(nname=%s,student.name);j=(student.score0+student.score1+student.score2)/3.0;printf(naverage=%.2f,j);getch();3、#include#includefile:/F|/khdaw/暑假/c语言习题/第9章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:18#define F sizeof(student)#define NULL 0typedef struct scores int en

61、glish;int math;int c_language;int all;TP;typedef struct students char sid15;char name15;TP score;struct students*next;student;student*input()student*head,*p1,*p2;int n=0;char ch;clrscr();head=(student*)malloc(F);head-next=NULL;do n+;printf(nnPlease input%d student message:nn,n);printf(t%d student si

62、d:,n);p1=(student*)malloc(F);p1-next=NULL;scanf(%s,p1-sid);printf(nt%d student name:,n);scanf(%s,p1-name);printf(nt%d student scores(englesh,math,c_language):,n);scanf(%d,%d,%d,&p1-score.english,&p1-score.math,&p1-score.c_language);file:/F|/khdaw/暑假/c语言习题/第9章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:18

63、p1-score.all=p1-score.english+p1-score.math+p1-score.c_language;if(n=1)head-next=p1;p2=p1;else p2-next=p1;p2=p1;printf(nntttContinue or back(press y/n):);ch=getch();while(ch=y|ch=Y);return head;void average1(student*head)student*p;int j;clrscr();p=head-next;while(p)j=p-score.all/3;printf(nnname:%sta

64、verage:%d,p-name,j);p=p-next;printf(nnnPress eny key return.);getch();void average2(student*head)student*p;int n=0,temp1=0,temp2=0,temp3=0;p=head-next;while(p)file:/F|/khdaw/暑假/c语言习题/第9章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:18 temp1+=p-score.english;temp2+=p-score.math;temp3+=p-score.c_language;p=p-

65、next;n+;printf(nnaverage english is:%dnaverage math is:%dnaverage c_language is:%dt,temp1/n,temp2/n,temp3/n);student*sort(student*head)student*head1,*p,*q,*r;int temp1=0,temp2=0,temp3=0,temp4;char s15,n15;head1=head;for(p=head1-next;p-next!=NULL;p=p-next)r=p;for(q=p-next;q;q=q-next)if(q-score.allr-s

66、core.all)r=q;if(r!=p)strcpy(s,p-sid);strcpy(n,p-name);temp1=p-score.english;temp2=p-score.math;temp3=p-score.c_language;temp4=p-score.all;strcpy(p-sid,r-sid);strcpy(p-name,r-name);p-score.english=r-score.english;p-score.math=r-score.math;p-score.c_language=r-score.c_language;p-score.all=r-score.all;strcpy(r-sid,s);strcpy(r-name,n);r-score.english=temp1;file:/F|/khdaw/暑假/c语言习题/第9章 课后答案【khdaw_lxywyl】.txt2009-8-10 0:45:18 r-score.math=temp2;r-score.c_language=temp3;r-score.all=temp4;return head1;vo

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!