c语言程序设计教程答案杨路明主编,C语言程序设计教程答案杨路明郭浩志

《C语言程序设计教程答案杨路明郭浩志》由会员分享,可在线阅读,更多相关《C语言程序设计教程答案杨路明郭浩志(44页珍藏版)》请在人人文库网上搜索。

1、C语言程序设计教程习题答案总主编 杨路明主审 郭浩志文件摘自 CSDN习题11、算法描述主要是用两种基本方法:第一是自然语言描述,第二是使用专用工具进行算法描述2、c语言程序的结构如下:1、c语言程序由函数组成,每个程序必须具有一个main函数作为程序的主控函数。2、/*与*/之间的内容构成c语言程序的注释部分。3、用预处理命令#include可以包含有关文件的信息。4、大小写字母在c语言中是有区别的。5、除main函数和标准库函数以外,用户可以自己编写函数,程序一般由多个函数组成,这些函数制定实际所需要做的工作。例如:void main()int a,b,c,s;a=8;b=12;c=6;s。

2、=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、合法标识符:AB12、leed_3、EF3_3、_762、PAS、X。

3、YZ43K2不合法标识符:a*b2、8stu、D.K.Jon、if、ave#xy、#_DT5、C.D5、F2:将当前编辑器中文件存盘F10:调用主菜单F4:程序运行到光标所在行Ctrl+F9:当前编辑环境下,进行编译、连接且运行程序;Alt+F5:将窗口切换到DOS下,查看程序运行结果6、(1):*welcome youvery good*(2):please input three number;5,7,8max number is:87、main8、User screen、Alt+F59、标识符必须是字母或下划线开头,大小写字母含义不同。由数字、字母和下划线组成;关键字是一种语言中规定具有。

4、特定含义的标识符。关键字不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。10、选择主菜单File项下拉子菜单中Save项或直接按F2键存盘。习题21、符合C语法规定的常数为:0x1e、abn、1.e52、(1):错误如下:int x,y=5,z=5,aver;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=Aendaabcc abc3、4、(1):9,11,9,10(2):3,1,0,0(3):11,19,31,15、(1):0(2):0(。

5、3):9.(4):90(5):10(6):10(7):65(8):4(9):4.(10):1(11):0(12):20(13):06、(5)7、求x的绝对值8、c(max=ab?a:b)?c:max;9、B10、D习题31、输入函数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-b);printf(a*b=%dn,a*b);pr。

6、intf(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);elseprintf(you input number is error!);9、void main()int n;printf(please input the number:);。

7、scanf(%d,&n);if(n=100 & n c | a+c b | b+c a)s = (a+b+c)/2;Area = sqrt(s*(s-a)*(s-b)*(s-c);printf(%fn,Area);elseprintf(you input the number is error!n);习题41:02:203: (x20)|(xvoid main()char a,b,t1,t2;scanf(%c,%c,&a,&b);t1=ab?a:b;t2=avoid main()int temp1=0,temp2=0,x,y,i=1;printf(Please input (x,y): );s。

8、canf(%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)void main()int temp=0,month,year;printf(Please input (year,month): );scanf(%d,%d,&year,&month);if(year%400=0)|(year%4=0&year%100!=0。

9、)temp=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。

10、=2;break;case 2:m=1;break;default:m=5; 12、方法一:#includevoid main()int x,y;scanf(%d,&x);if(x-5)y=x-1;else if(x=0)y=x;else if(x0&xvoid main()int x,y;scanf(%d,&x);if(x-5)if(x=0)y=x;else if(x0&xvoid main()int x,y,i;scanf(%d,&x);if(x-5)if(x=0)i=1;else if(x0&x= A & ch = a & ch = 0 & ch = A & ch = a & ch 50。

11、0)break;printf(the %d years later complete!n,count);6、void main()int i,temp=0,bit=0;for(i = 1 ; i 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;n=nleft&b#include vo。

12、id main()int n;long k = 1;float e = 1;n = 1;clrscr();while ( fabs(1.0/k) = 0.)n+;e = e+ 1.0/k;k = k * n;printf(%fn,e);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;if(f0*f1)1e-6);printf(__。

13、____2*x*x*x-4*x*x+3*x=0______n);printf(the root is %fn,x0);习题61、#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(ndi。

14、visor=%dttmultiple=%d,c,d);2、#includevoid tongji(char a)int b3=0,0,0,i=0;while(ai!=0)if(ai=65)|(ai=97)b0+;else if(ai=48) b1+;elseb2+;i+;printf(zimu have: %d; shuzi have: %d; qita have: %d,b0,b1,b2);getch();void main()char a100;printf(Please input a string: );gets(a);tongji(a);3、#includeint flower(in。

15、t 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;printf(Please intput n: );scanf(%d,&n);if(n999|n#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=。

16、%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=fib(n-1)+fib(n-2);return p;void main()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;elsef=n*fac(n-1);return f;void main()int m,n;long f;print。

17、f(Please input (m,n): );scanf(%ld,%ld,&m,&n);f=fac(n+m)+fac(n);printf(nnfibonacci=%ld,f);7、#includevoid list()int i,j;for(i=1;iint he(int n)int i,s=0;for(i=1;i%d ,i,j);9、#include#define max 100struct worklong sid;char name15;workermax;int size=0;struct work *set_list()doprintf(nnPlease input (sid,na。

18、me): );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;iaj.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(aj.name,v);for(i=0;ifloat jiecheng(int。

19、 n)long s=1;int i;for(i=1;i=0 ak=temp break k#define max 100void main()float amax,s=0,average=0;int i,n;printf(Please input N: ); /*输入要处理元素的个数*/scanf(%d,&n);printf(nPlease input %d ge shu: ,n); /*输入90,85,92,77,80,62*/for(i=0;iaverage)printf(%.2f ,ai); /*输出90.00 ,85.00 ,92.00*/5、/*题目:编写程序,输入一组整数,将他们排。

20、序后由小到大输出。*/#include#define max 100void main()int amax,j,i,k=0,t=0,n=0;printf(Please input N: ); /*输入要处理元素的个数*/scanf(%d,&n);for(i=0;iaj)k=j;if(k!=i) /*元素排序前下标与排序后下标不符,则交换其值*/ t=ai;ai=ak;ak=t;printf(nn);for(i=0;i#includevoid main()int d44=0,0,0,0,i,j;clrscr();printf(nPlease input 16 num: );for(i=0;idj。

21、i) /*左下角元素大于右上角元素则交换*/dji=dij;for(i=0;i=i)printf(t%d,dij);/*为了使位数不同的数输出依然保持三角型*/elseprintf(t);7、*题目:输入一个3x4的二维数组,然后分别按行和按列输出。*/#include#includevoid main()int d34=0,0,0,0,i,j;printf(Please input 12 num: );for(i=0;i#includevoid main() char s150,s250;int i=0,j=0,t=0;printf(Input one: );gets(s1);while(s。

22、1i!=0) i+; /*统计s1中字符个数*/printf(nnInput second: );gets(s2); while(s2j!=0) j+; /*统计s2中字符个数*/for(t=0;t#include#define MAX 100void main()char strMAX;int i=0,flage=0;int count=0;printf(nPlease input a string: );gets(str);while(stri)if(stri=a)flage=1;else if(stri=b)if(flage=1) count+;flage=0;else flage=0;。

23、i+;printf(the double char ab count is %dn,count);10、#include /*相对于第一种方法,这种方法能把同为最大的字符串全部打印出来。*/#includeint paixu(int a,int n) /*构造对长度为n的数组排序的函数*/int i,j,t,k,temp;for(i=0;iaj)k=j;if(k!=i) t=ai;ai=ak;ak=t;temp=an-1;return temp; /*返回最大字符串的长度的值*/void main()char str150,str250,str350,str450,str550,str650;。

24、char str750,str850,str950,str1050;int count10=0,temp10=0,i,j;int paixu(int a,int n);for(i=1;ivoid main()int a100,b100,c100,i,m,n,j,k,temp=0,s;printf(nm = );scanf(%d,&m); /*确定M的个数*/printf(nn = );scanf(%d,&n); /*确定N的个数*/printf(nPlease input m ge shu: );for(s=0;sm;s+)scanf(%d,&as);printf(nPlease input 。

25、n ge shu: );for(s=0;sn;s+)scanf(%d,&bs);i=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(ai=bj)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值