版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章课后习题参考答案一、(略)二、单选题1、C2、D3、C4、A5、C6、D7、C8、B9、D10、A三、填空题1、12、8803、100000104、000011115、111100006、3.5000000四、写程序运行结果1、2,12、03、164、35、1五、编程题解:设鸡有X只,兔有Y只,根据题意可得方程如下:x+y=a2x+4y=b解方程组可得到:x=(4*a-b)/2y=(b-2a)/s编程如下:#include<stdio.h>#include<math.h>main(){intx,y,a,b;printf(“Pleaseinputtwointergernumbers:\n”);scanf(“%d,%d”,&a,&b);x=(4*a-b)/2;y=(b-2*a)/2;printf(“Thereare%dchicken.\n”,x);printf(“Thereare%drabbit.\n”,y);}2、(题意看书上:求三角形面积)#include<stdio.h>#include<math.h>main(){inta,b,c;floats,area;printf(“Pleaseinput3numbersfortriangle:\n”);scanf(“%d,%d,%d”,&a,&b,&c);s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area=%f”,area);}第3章课后习题参考答案单选题B2、BC3、A4、D5、B6、C7、C8、C9、A10、A11、C12、C13、B14、C15、B16、B写出下列程序的运行结果1、a=20,b=40,c=202、233、684、a=%d,b=%d5、1651.56.56、a=3.140000,3.1400000e+00,3.140e+00,3.140e+00b=-3.141,-3.1415e+00,-3.1415e+007、x=4y=118k=49x=4.900000y=410**********填空题1、(1)d,e(2)(a>b)(3)(d>c)输出显示:max=72、(1)k=1;break;(2)k=2;break;(3)k=3;break;(4)k=4;break;(5)k=5;break;34、(i%3==0)&&(i%5==0)&&(i%7==0)5、i=0,j=0,n;scanf(“%d”,&n);四、编程题1.要求从大到小打印三个整数,a,b,c.main(){inta,b,c,t;scanf("%d%d%d",&a,&b,&c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;}printf("bigtosmall:%d%d%d\n",a,b,c);}2.编程求一元二次方程的根#include<math.h>main(){floata,b,c,disc,x1,x2,realpart,imagpart;printf("inputcanshua,b,c");scanf("%f,%f,%f",&a,&b,&c);printf("Theequation");if(fabs(a)<=1e-6)printf("isnota2cifangcheng.");elsedisc=b*b-4*a*c;if(fabs(disc)<=1e-6)printf("hastwoequalroots:%f\n",-b/2*a);elseif(disc>1e-6){x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("hasdistinctrealroots:%fand%f\n",x1,x2);}else{realpart=-b/2*a;imagpart=sqrt(-disc)/(2*a);printf("hascomplexroots:\n");printf("%f+%fi\n",realpart,imagpart);printf("%f-%fi\n",realpart,imagpart);}}3.main(){floata,r,rate,bonus;printf("inputa(jiangjin):");scanf("%f",&a);if(a<500)rate=0;elseif(a>=500&&a<1000)rate=(a-500+1)*0.05;elseif(a>=1000&&a<2000)rate=(a-1000+1)*0.08+500*0.05;elseif(a>=2000&&a<3000)rate=(a-2000+1)*0.1+1000*0.08+500*0.05;elserate=(a-3000+1)*0.15+1000*0.1+1000*0.08+500*0.05;bonus=a-rate;printf("rate=%f,bonus=%f\n",rate,bonus);}3’main(){floata,r,rate,bonus,t;printf("inputa(jiangjin):");scanf("%f",&a);t=a/500;if(t>6)t=6;switch((int)(t)){case0:rate=0;break;case1:rate=(a-500+1)*0.05;break;case2:case3:rate=(a-1000+1)*0.08+500*0.05;break;case4:case5:rate=(a-2000+1)*0.1+1000*0.08+500*0.05;break;case6:rate=(a-3000+1)*0.15+1000*0.1+1000*0.08+500*0.05;break;}bonus=a-rate;printf("rate=%f,bonus=%f\n",rate,bonus);}4.编程,将2000到3000年之间的闰年输出main(){inty;for(y=2000;y<=3000;y++){if(y%4==0&&y%100!=0||y%400==0)printf("%d",y);}}5.从键盘输入若干字符,统计其中字母符号(区分大小写),数字符号和其他字符的个数。#include<stdio.h>main(){charc;intbletter=0,sletter=0,digit=0,other=0;printf("inpursomechars:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z')sletter++;elseif(c>='A'&&c<='Z')bletter++;elseif(c>='0'&&c<='9')digit++;elseother++;}printf("bletter:%d,sletter:%d,digit:%d,other:%d\n",bletter,sletter,digit,other);}6、求阶乘的前20项的和main(){floats=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf(“1!+2!+3!+…….+20!=%e\n”,s);}7.编程求所有的水仙花数。main(){inti,j,k,n;for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(i*i*i+j*j*j+k*k*k==n)printf("%4d",n);}printf("\n");}8.(题意看书上)main(){inti,j,k,n;for(n=200;n<300;n++){i=n/100;j=n/10-i*10;k=n%10;if(i*j*k==42&&i+j+k==12)printf("%4d",n);}printf("\n");}9.编程计算1——100之间能同时被3和4整除的所有的整数的和。main(){intn,sum=0;clrscr();for(n=1;n<100;n++){if(n%3==0&&n%4==0){printf("%d",n);sum=sum+n;}}printf("\nsum=%d",sum);}10、编程计算1——100之间所有的偶数的和。main(){intn,s=0;for(n=1;n<100;n++){if(n%2==0)s=s+n;}printf(“s=%d”,s);}11.(题意看书上)main(){intt;printf("studentsnumbermaybe:");for(t=500;t<1000;t++){if(t%5==2&&t%7==3&&t%3==1)printf("%4d",t);}printf("\n");}第4章课后习题参考答案一选择题CCDABC二程序填空1、(1)&a[i](2)continue2、{s[j]=s[i];j++;}三编程main(){inta[3][3],sum=0;intij;printf(“pleaseinputdata:\n”);for(i=0;i<3;i++)for(j=0;j<3;j++)scanf(“%d”,&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][j];printf(“sum=%6d\n”,sum);}插入法排序main(){inta[10];inti,j,x;printf(“Pleaseinput10numbers:\n”);for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=1;i<10;i++){x=a[i];j=x-1;while(j>=0&&a[j]>x){a[j+1]=a[j];j--;}a[j+1]=x;}3#include<stdio.h>#defineN15//定义字符常量表示数组长度main(){inti,j,number,top,bott,mid,loca,a[N],flag=1,sign=1;charc;printf(“Pleaseinputdata:\n”);//数组数据的输入scanf(“%d”,&a[i]);i=1;while(i<N){scanf(“%d”,&a[i]);if(a[i]>=a[i-1])//按照从小到大的输入i++;elseprintf(“Inputthisdataagain:”);printf(“\n”);for(i=0;i<N;i++)printf(“%d”,a[i]);//数组输出显示printf(“\n”);flag=1;//如果是有序数组就将Flag=1while(flag){printf(“Pleaseinputnumbertolookfor:”);scanf(“%d”,&number);//输入要查找的数据loca=0;//查找成功与否的开关变量top=0;//查找区间的开始元素下标bott=N-1;//查找区间的结束元素下标if((number<a[0])||(number>a[N-1]))//要查找的数据超出范围loca=-1;//没有找到while((sign==1)&&(top<=bott)){mid=(bott+top)/2;//折半(取中间位置的数据)if(number==a[mid]){loca=mid;printf(“Find%d,itspositionis%d\n”,number,loca+1);sign=0;//找到}elseif(number<a[mid])bott=mid-1;//查找区间变化elsetop=mid+1;}if(sign==1||loca==-1)//没有找到printf(“%disnotfound.\n”,number);printf(“continueornot(Y/N)?”);scanf(“%c”,&c);if(c==’N’||c==’n’)flag=0;}}4矩阵相乘main(){inta[3][4],b[4][5],c[3][5];inti,j,k,n=0;//定义矩阵I,j分别为矩阵a的行和列;j,k分别为矩阵b的行printf(“\nPleaseinputa:\n”);for(i=0;i<3;i++)和列for(k=0;k<4;k++)scanf(“%d”,&a[i][k]);//输入矩阵aprintf(“Pleaseinputb:\n”);for(k=0;k<4;k++)for(j=0;j<5;j++)scanf(“%d”,&b[k][j]);//输入矩阵bfor(i=0;i<3;i++)for(j=0;j<5;j++){c[i][j]=0;for(k=0;k<4;k++)c[i][j]+=a[i][k]*b[k][j];//计算出矩阵c}for(i=0;i<3;i++)for(j=0;j<5;j++){printf(“%4d”,c[i][j]);n=n+1;//输出矩阵cif(n==5){printf(“\n”);n=0;}//输出5个数据后换行}}5合并字符串(用strcat()函数)#include<stdio.h>main(){charst1[80],st2[10];printf(“pleaseinputstrings:\n”);gets(st1);gets(st2);puts(st1);puts(st2);printf(“%s\n”,strcat(st1,st2));}#include<stdio.h>main(){inti=0,j=0;charst1[80],st2[10];printf("pleaseinputstrings:\n");gets(st1);gets(st2);while(st1[i]!='\0')i++;while(st2[j]!='\0'){st1[i]=st2[j];i++;j++;}st1[i]='\0';puts(st1);}5合并字符串(不用strcat()函数)main(){chars1[80],s2[10];inti=0,j=0;printf(“\nPleaseinputstring1:”);scanf(“%s”,s1);printf(“\nPleaseinputstring2:”);scanf(“%s”,s2);while(s1[i]!=’\0’)i++;while(s2[j]!=’\0’)s1[i++]=s2[j++];s1[i]=’\0’;printf(“Thenewstringis:%s”,s1);}6查找数组中的一个指定字符,并输出该字符的位置#include<stdio.h>#include<math.h>main(){chara[20],ch;inti,j=0,flag=0;printf(“Pleaseinputnumbers:\n”);scanf(“%s\n”,a);scanf(“%c”,ch);for(i=0;a[i]!=’\0’;i++,j++)if(strcmp(a[i],ch)==0){flag=1;printf(“Find%c,itspositionis%d\n”,ch,j);break;}if(flag=0)printf(“Notfind,%d\n”,-1);}0第5章课后习题参考答案一、选择题1、A2、C3、C4、D5、C6、A7A8、C9、B写程序运行结果1、242、1810编程题1编写函数,通过指针将一个字符串反向。main(){inta[10],i,*p;p=a;printf(“Pleaseinputastring:\n”);for(i=0;i<10;i++,p++)scanf(“%c”,p);p=&a[9];for(i=0;i<10;i++)printf(“%c”,*(p-i));}编写程序,输入字符串,分别统计字符串中所包含的各个不同的字符及其字符的数量。#include<stdio.h>main(){intbigletter=0,smallletter=0,digit=0;intspace=0,other=0,i=0;char*p,s[20];printf("Pleaseinputastring:");while((s[i]=getchar())!='\n')i++;p=s;while(*p!='\n'){if('A'<=*p&&*p<='Z')++bigletter;elseif(('a'<=*p)&&(*p<='z'))++smallletter;elseif(*p=='')++space;elseif((*p<='9')&&(*p>='0'))++digit;elseother++;p++;}printf("bigletter:%dsmallletter:%d",bigletter,smallletter);printf("space:%dother:%ddigit:%d",space,other,digit);}有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位?main(){inti,k,m,n,num[50],*p;printf("Pleaseinputnumberofperson:n=");scanf("%d",&n);p=num;for(i=0;p<=num+n;i++,p++)*p=i+1;i=0;k=0;m=0;p=num;while(m<n-1){if(*(p+i)!=0)k++;if(k==3){*(p+i)=0;k=0;m++;}i++;if(i==n)i=0;}while(*p==0)p++;printf("ThelastoneisNO%d\n",*p);}第6章课后习题参考答案1、单项选择题1、B2、B3、B4、D5、A6、B7、C8、C9、A10、B11、B12、B13、D14、A15、B16、A17、A18、A19、D二、编程题从键盘输入三个整数,调用函数求其中最大数。#include<stdio.h>main(){intx,y,z,big;intmax(inta,intb,intc);//函数声明,注意前面的类型,后面的分号printf(“Pleaseinputthreenumbers:\n”);scanf(“%d,%d,%d”,&x,&y,&z);big=max(x,y,z);//函数调用,注意前面不再有类型,后面的分号printf(“max=%d.\n”,big);}intmax(inta,intb,intc)//用户自定义函数–首部{intt;if(a<b)//完成数据交换{t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}ret
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 成都东部新区壮溪镇人民政府 公开招聘社区专职工作者的笔试备考题库及答案详解
- 2026年蕉岭县网格员招聘考试备考题库及答案解析
- 2026年新昌县中小学幼儿园教师招聘考试备考试题及答案解析
- 成都兴城投资集团有限公司成都建工第六建筑工程有限公司2026年8月校园招聘的考试参考题库及答案详解
- 2026年广东省北师大版七年级英语下册第11单元阅读理解专项训练
- 2026年陕西省苏教版初中英语下册第10单元语法练习题
- 2026年江苏省苏教版五年级语文上册第3单元期中测试
- 2026年考研英语六级写作高频考点题库
- 2026年湖南省人教版初中英语下册第7单元课后练习题
- 2027中国水利水电第五工程局秋季招聘(223人)笔试模拟试题及答案详解
- 妇科子宫内膜癌放射治疗技术操作规范
- 火力发电机组检修工程全过程要求规范化管理系统
- 护理礼仪与人际沟通PPT(高职)全套教学课件
- 骨质疏松及其药物治疗标准课件
- 江苏省老年友善医疗机构建设标准
- 中国古代文学秦汉文学
- 工地项目员工绩效考核办法
- 发展经济学 马工程课件 16.第十六章 国际投资
- GB/T 28733-2012固体生物质燃料全水分测定方法
- 产品外观检验规范
- 部编人教版语文四年级上册:现代诗二首 优秀课件
评论
0/150
提交评论