




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章3.3请将下面各数用八进制和十六进制(补码)表示:(1)10(2)32(3)75(4)-617(5)-111(6)2483(7)-28654(8)210033.5 字符常量与字符串常量有什么区别?3.6 写出以下程序运行的结果。main( )char c1=a,c2=b,c3=c,c4=101,c5=116;printf(“a%cb%ctc%ctabcn”,c1,c2,c3);printf(“tb%c%c”,c4,c5);3.7 要将”China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母”A”后面第4个字母是”E”,用”E”代替”A”。因此,”China”应译为”Glmre”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为C、h、i、n、a,经过运算,使c1、c2、c3、c4、c5分别变为G、l、m、r、e,并输出。3.8 例3.6能否改成如下:main( )int c1,c2;c1=97;c2=98;printf(“%c%cn”,c1,c2);printf(“%d%dn”,c1,c2);3.9 求下面算术表达式的值。(1)x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.53.10 写出程序运行结果main( )int i,j,m,n;i=8;j=10;m=+I;n=j+;printf(“%d,%d,%d,%d”,i,j,m,n);3.12写出下面表达式运算后a的值,设原来a=12。设a和已定义为整型变量。(1)a+=a(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2), n的值等于5(6)a+=a-=a*=a第四章4.3 C语言为什么要把输入输出的功能作为函数,而不作为语言的基本部分?4.4 若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=a,c2=b。想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出的结果如下:a=3b=4c=5x=1.200000,y=2.400000,z=-3.600000x+y=3.60y+z=-1.20z+x=-2.40u=51274n=128765c1=a or97(ASCII)c2=b or97(ASCII)4.5 请写出下面程序的输出结果:#include stdio.hmain( ) int a=5,b=7;float x=67.8564,y=-789.124;char c=A;long n=1234567;unsigned u=65535;printf(%d%dn,a,b);printf(%3d%3dn,a,b);printf(%f,%fn,x,y);printf(%-10f,%-10fn,x,y);printf(%8.2f,%8.2f,%.4f,%.4f,%3f,%3fn,x,y,x,y,x,y);printf(%e,%10.2en,x,y);printf(%c,%d,%o,%xn,c,c,c,c); printf(%ld,%lo,%xn,n,n,n);printf(%u,%o,%x,%dn,u,u,u,u); printf(%s,%5.3sn,COMPUTER,COMPUTER);4.8 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。4. 9 输入一个华氏温度,要求输出摄氏温度。公式为 输出要有文字说明,取2位小数。4. 10 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。并思考以下问题:(1)变量c1、c2应定义为字符型或整型?抑二者皆可?(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?(3)整型变量与字符变量是否在任何情况下都可以互相代替?如char c1,c2;与int c1,c2; 是否无条件地等价?第五章5.3写出下面各逻辑表达式的值。设a=3,b=4,c=5。(1)a+bc&b= =c(2)a|b+c&b-c(3)!(ab)&!c|1(4)!(x=a)&(y=b)&0(5)!(a+b)+c-1&b+c/25.4 有3个整数a、b、c,由键盘输入,输出其中最大的数。5.5 有一函数:,写一程序,输入x,输出y值。5.6 给出一百分制成绩,要求输出成绩等级A、 B、 C、 D、 E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。5.8 企业发放的奖金根据利润提成。利润I低于或等于10万元的,奖金可提10%;利润高于10万元,低于20万元(100000I200000)时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万元I40万元时,低于20万元的部分仍按上述办法提成(下同),高于20万元的部分按5%提成;40万元I60万元时,高于40万元的部分按3%提成;60万元100万元时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。要求:(1)用if语句编程序;(2)用switch语句编程序。5.9 输入4个整数,要求按由小到大的顺序输出。5.10 有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。2-2-22026.1 输入两个正整数m和n,求其最大公约数和最小公倍数。6.2 输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。6.3 求之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。6.4 求(即求1!+2!+3!+4!+20!)。6.5 求。6.6 打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。6.7 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子: 6 its factors are 1,2,36.8 有一分数序列求出这个数列的前20项之和。6.9 一球从100m高度自由落下,每次落地后反跳回原来高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?6.10 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩下一个桃子了。求第一天共摘了多少桃子。6.11 用迭代法求。求平方根的迭代公式为要求前后两次求出的x的差的绝对值小于10-5。(可不做)6.12 用牛顿迭代法求下面方程在1.5附近的根。(可不做)2x3-4x2+3x-6=06.13 用二分法求下面方程在(-10,10)之间的根。(可不做)2x3-4x2+3x-6=06.14 打印出以下图案。* * * * * * * * * * * * * * * * * * *6.15 两个乒乓球队进行比赛,各出3人。甲队为A、B、C3人,乙队为X、Y、Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X比,C说他不和X、Z比,请编程序找出3对赛手的名单。C程序设计习题解答第一章1.5main()printf( *n);printf(n);printf( Very Good!n);printf(n);printf( *n);1.6main()int a,b,c,max;printf(input a,b,c:n);scanf(%d,%d,%d,&a,&b,&c);max=a;if(maxb) max=b;if(maxb)?a:b;max=(tc)?t:c;printf(“max=%d”,max); 5.5main()float x,y;printf(“input x:”);scanf(“%f”,&x);if (x1) y=x;else if (x100|score0) printf(“error”);else logic=0;printf(“n”);if (score= =100) t=9;else t=(int)(score/10);switch(t)case 9: grade=A;break;case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;case5:case4:case3:case2:case1:case0: grade=E;5.8(1)用if语句main()long i;float bonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1;/*利润为10万元时的奖金*/bon2=bon1+100000*0.075;/*利润为20万元时的奖金*/bon4=bon2+200000*0.05;/*利润为40万元时的奖金*/bon6=bon4+200000*0.03; /*利润为60万元时的奖金*/bon10=bon6+40000*0.015; /*利润为100万元时的奖金*/scanf(%ld”,&i);if (i1e5) bonus=i*0.1;else if (i=2e5) bonus=bon1+(i-100000)*0.075;else if (I=4e5) bonus=bon2+(i-200000)*0.05;else if (I=6e5) bonus=bon4+(i-400000)*0.03;else if (I10) c=10;switch(c)case 0: bonus=i*0.1; break;case 1: bonus=bon1+(i-100000)*0.075; break;case 2: case 3: bonus=bon2+(i-200000)*0.05; break;case 4: case 5: bonus=bon4+(i-400000)*0.03; break;case 6: case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015; break;case 10: bonus=bon10+(i-1000000)*0.01;printf( “bonus=%10.2f”,bonus); 5.9main() int t,a,b,c,d;scanf( “%d,%d,%d,%d”,&a,&b,&c,&d);printf(“na=%d,b=%d,c=%d,d=%dn”,a,b,c,d);if (ab) t=a;a=b;b=t;if (ac) t=a;a=c;c=t;if (ad) t=a;a=d;d=t; if (bc) t=b;b=c;c=t;if (bd) t=b;b=d;d=t; if (cd) t=c;c=d;d=t;printf( “%d %d %d %dn”,a,b,c,d);5.10main() int h=10;float x,y,x0=2,y0=2,d1,d2,d3,d4;printf(“input x,y:”);scanf( “%f,%f”,&x,&y);d1=(x-x0)*(x-x0)+(y-y0)*(y-y0);d2=(x-x0)*(x-x0)+(y+y0)*(y+y0);d3=(x+x0)*(x+x0)+(y-y0)*(y-y0);d4=(x+x0)*(x+x0)+(y+y0)*(y+y0);if(d11&d21&d31&d41) h=0;printf(“h=%d”,h)第6章第6章要点:1、实现循环的语句。2、几种循环的比较3、读程序写结果。常见问题的程序设计。6.1#includemain()int a,b, n1,n2,t;printf(“input a,bn”);scanf(“%d,%d”,&n1,&n2);if(n1n2) t=n1;n1=n2;n2=t;a=n1;b=n2 ;while(b!=0)t=a%b;a=b;b=t;printf(“最大公约数为:%dn”,a);printf(“最小公倍数为:%dn,n1*n2/a); 6.2#include#include main()char c;int letters=0,space=0,digit=0,other=0;printf(“输入一行字符:n”);while(c=getchar( )!=n);if(c=a&c=A&c=0&c=9) digit+;else other+;printf(“l%d,%d,%d,%dn”,letters,space,digit,other); 6.3#includemain()int a,n,count=1,sn=0,tn=0;scanf(“%d,%d,”,&a,&n);printf(“a=%d n=%dn”,a,n);while(count=n)tn=tn+a;sn=sn+tn;a=a*10;+count;printf(“a+aa+aaa+=%dn”,sn); 6.4#includemain() float n, s=0,t=1;for (n=1;n=20;n+)t=t*n;s=s+t;printf( “1!+2!+3!+20!=%en”,s);6.5#includemain()int n1=100,n2=50,n3=10;float k;float s1=0,s2=0,s3=0;for(k=1;k=n1;k+) s1=s1+k;for(k=1;k=n2;k+) s2=s2+k*k;for(k=1;k=n3;k+) s3=s3+1/k;printf(“sum=%8.2n”,s1+s2+s3);6.6#includemain()int i,j,n;printf(“水仙花数是:”);for (n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;If(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(“%d”,n);printf(“n”);6.7#includemain()static int k10;int i,j,n,s;for (j=2;j=1000;j+)n=0;s=j;for (i=1;ij;i+)if (j%i)=0)n+;s=s-i;kn=i;if (s=0)printf (“%5d是个完数,它的因子是:”,j);for (i=1;i=n;i+) printf( “%d”,ki);printf(n); 6.8#includemain()float a=2,b=1,s=0;int n,t,number=20;for (n=1;n=number;n+)s=s+a/b;t=a; a=a+b; b=t;printf(“sum=%9.6fn”,s);6.9#includemain()int n;float sn=100,hn=sn/2;for (n=2;n=10,n+)sn=sn+2*hn;hn=hn/2;printf(“第10次落地时共经过:%f米n”,sn);printf(“第10次反弹%f米n”,hn); 6.10#includemain()int day,x1,x2;day=10;x2=1;while(day0)x1=(x2+1)*2;/*前1天的桃子数是当天桃子数加1后的2倍*/x2=x1;day-;printf(“桃子总数=%dn”,x1); 6.11#include#include main()float a,x0,x1;printf(“input nn”);scanf(“%f”,&a);x0=a/2;x1=(x0+a/x0)/2;do x0=x1;x1=(x0+a/x0)/2;while( fabs(x0-x1)=1e-5);printf(“%5.2f的平方根=%8.5fn”,a,x1); 6.12牛顿迭代法又称牛顿切线法。它采用以下的方法求根:先任意设定一个与其真实的根接近的值x0作为第一次近似根,由x0求出f(x0),过(x0, f(x0)点做f(x)的切线,交x轴于x1,把它作为第二次近似根;再由x1求出f(x1),过(x1, f(x1)点做f(x)的切线,交x轴于x2,求出f(x2);再作切线如此继续下去,直到足够接近真正的根x*为止。f(x0)=f(x0)/(x1-x0)x1= x0- f(x0)/ f(x0)这就是牛顿迭代公式。#includemain( )float x,x0,f,f1;x=1.5;dox0=x;f=(2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;while(fabs(x-x0)=1e-5);printf(方程的根=%6.2fn”,x);6.13二分法的思路如下:先指定一个区间x1,x2,如果函数f(x)在此区间是单调变化的,则可以根据f(x1)和 f(x2)是否同号来确定方程f(x)=0在区间x1,x2内是否有一个实根。若f(x1)和 f(x2)不同号,则f(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 减少丢弃及再利用课件
- 凉瓜主题劳动课件
- 新入职员工入职培训课件
- 勇敢为主题的课件浏览器
- 木工机械安全操作规程
- 数据隐私保护政策制定指南
- 高校后勤食堂管理与员工培训试题
- 医院临床医学院教学工作管理制度
- 初中物理易错题专项训练
- 销售团队激励方案与目标达成计划
- 特种设备日管控、周排查、月调度管理制度
- 2024年县乡教师选调进城考试《教育学》题库及完整答案(全优)
- 2023年HSE法律法规清单
- 糖尿病运动疗法讲座医学课件
- 《体育科研方法》课件
- 2023年汽车装调工考试真题模拟汇编(共772题)
- 员工自我评价表
- 多发性硬化症诊治护理
- 意识形态安全面临的挑战及对策
- 直播电商行业:直播电商供应链研究报告
- 涉诈风险账户审查表
评论
0/150
提交评论