欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    北理c语言上机答案(全).pdf

    • 资源ID:91496794       资源大小:6.85MB        全文页数:78页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    北理c语言上机答案(全).pdf

    1练习两个整数之间的运算背景:基本练习。输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:1 2 3 4 4 4输出:分别输出进行+、-、*、/、*之后的运行结果。程序实例1:#i n c l u d e v o i d m a i n()i n t a,b,c,d,e,f,g;s c a n f (d%d,&a,&b);p r i n t f (z/%d+%d=%d nz/,a,b,c=a+b);p r i n t f (,/%d-%d=%d n,/,a,b,d=a-b);p r i n t f (d*%d=%d n,a,b,e=a*b);p r i n t f (,z%d/%d=%d nz,,a,b,f=a/b);p r i n t f C,%d%d=%d n,/,a,b,g=a%b);)结果:输入:1 0 3输出:1 0+3=1 31 0-3=71 0*3=3 01 0/3=31 0%3=l程序实例2:#i n c l u d e v o i d m a i n ()i n t x l,x 2,x 3,x 4,x 5,a,b;s c a n f (%d%d,&a,&b);x l=a+b;x 2=a-b;x 3=a*b;x 4=a/b;x 5=a%b;p r i n t f (z,%d+%d=%d n%d-%d=%d n%d*%d=%d n%d/%d=%d n%d%d=%dz,,a,b,x l,a,b,x 2,a,b,x 3,a,b,x 4,a,b,x 5);)结果:输入:1 2 3 4 4 4输出:1 2 3+4 4 4=5671 2 3-4 4 4二-3 2 11 2 3*4 4 4=54 61 21 2 3/4 4 4=01 2 3%4 4 4=1 2 31学习打印你的第一个图形背景:我们已经学习了 p r i n t f 函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4 的正方形。程序如下:#i n c l u d e v o i d m a i n()(p r i n t f(*n);p r i n t f(*n);p r i n t f(*n);p r i n t f(*n);)要求:按照上面的程序范例,编写一个小程序,要求输出的是4行由*号组成的等腰三角形。输入:无。输出:指定图形。程序实例1:#i n c l u d e i n t m a i n(v o i d )(p r i n t f(*n );p r i n t f(;p r i n t f(*n );p r i n t f(*n );r e t u r n 0;结果:输入:无输出:*程序实例2:#i n c l u d e s t d i o.h m a i n()(p r i n t f (z,*n);p r i n t f(*n);p r i n t f (,z*n);p r i n t f(*n);)结果:输入:无输出:*1温度转换(0 6秋)二 匕 旦目乐:经常出国旅行的驴友都知道,需要时时了解当地的气温状况,但不少国家采用了不同的温度计量单位:有些使用华氏温度标准(F),有些使用摄氏温度(C)o现在,请你根据温度转换公式设计一个温度转换程序,可以进行温度转换。如果输入摄氏温度,显示转换的华氏温度;如果输入华氏温度,显示转换的摄氏温度。温度转换的公式为:F=(C x 9/5)+3 2 ;C=(F-3 2)x 5/9 ;式中F华氏温度,C一摄氏温度。输入:第一个数据(1或2 )确定转换的类型:华氏转摄氏(1);摄氏转华氏(2);第二个数据是相应需要转换的温度值。输出:相应的转换后的温度值(保留小数点后2位)。程序实例1:#i n c l u d e v o i d m a i n()i n t a;f l o a t x,y;scanf&a,&x);i f (a=l )y=(x-3 2)*5.0/9.0;p r i n t f (,zTh e Ce n t i g r a d e i s%.2 f n,y);e l s e i f(a=2)y=(x*9.0/5.0)+3 2;p r i n t f(Th e Fa h r e n h e i t i s%.2 f n,y);)结果:输入:1 1 0 0输出:Th e Ce n t i g r a d e i s 3 7.78输入:2 -6.67输出:Th e Fa h r e n h e i t i s 1 9.99程序实例2:#i n c l u d e v o i d m a i n()f l o a t C;i n t a;s c a n f (d%f,z,&a,&C);s w i t c h (a)c a s e 1:p r i n t f (Th e Ce n t i g r a d e i s%.2 f n ,(0 3 2)*5/9);b r e a k;c a s e 2:p r i n t f (z,Th e Fa h r e n h e i t i s%.2 f n ,(C*9/5)+3 2);b r e a k;d e f a u l t:p r i n t f(e r r o r n);)结果:输入:1 0输出:Th e Ce n t i g r a d e i s -1 7.78输入:2 88输出:Th e Fa h r e n h e i t i s 1 90.4 02 计算圆柱的侧面积及体积如果已知圆柱的底面半径r ,以及高h ,则可计算出圆柱的侧面积s=2 J i rh,体积r 2h o 其中 n=3.1 4 1 592 6输入:第一行输入圆柱的底面半径r第二行输入圆柱的高h输出:s=,v=要求1 .所有变量都定义为双精度类型2 .结果精确到小数点后两位程序实例1:#i n c l u d e#i n c l u d e v o i d m a i n()(d o u b l e r,h,s,v,P AI=3.1 4 1 592 6;s c a n f (z,%l f n%l f,z,&r,&h);s=2*P AI*r*h;v 二 P AI*r*r*h;p r i n t f (z zs=%.2 f,v 二%.2 f n ,s,v);)结果:输入:28输出:s=1 0 0.53,v=1 0 0.53程序实例2:#i n c l u d e v o i d m a i n()(d o u b l e p i=3.1 4 1 592 6;i n t r,h;s c a n f(%d,&r);s c a n f (级d ,&h);p r i n t f Cs=%5.2 f,v=%5.2 f n”,2*p i*r*h,p i*r*r*h);)输入:51 0输出:s=3 1 4.1 6,v=785.4 03计算时钟的夹角背景:钟 面 上 的 时 针 和 分 针 之 间 的 夹 角 总 是 在 之 间(包 括 和)。举例来说,在十二点的时候两针之间的夹角为,而在六点的时候夹角为,在三点的时候为。本题要解决的是计算12:0 0 到11:59 之间任意一个时间的夹角。输入:每组测试数据包含两个数字:第一个数字代表小时(大 于 0小 于 等 于 1 2),第二个数字 代 表 分(在 区 间 0,59 )o输出:对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。输出格式如下所示。程序实例1:#includevoid main()float x,y,z;scanf(%f%f”,&x,&y);z=6*y-(3 0*x+y/2);if(z=-18 0)z+=3 60;else if(z=18 0)z=3 60-z;else z=z;if(y10)p rintf(Z/A t%.O f:0%.O f the angle is%.I f degrees.x,y,z);else p rintf C A t%.Of Of the angle is%.I f degrees.x,y,z);)输入:12 0输出:A t 12 :0 0 the angle is 0.0 degrees.程序实例2:#include#includemain()int x,y;float z;scanf(d/d,&x,&y);z=fabs(3 0*x-(float)y*l1/2);z=z18 0?3 60-z:z;if(y0。输入:三角型的3 条边的长度(int型)。输出:等边三角形:equilateral triangle等腰三角形:isoceles triangle不构成三角形:non-triangle一般三角形:triangle程序实例1:#includevoid main()int a,b,c;scanf(,z%d%d%dz,,&a,&b,&c);if(a+b=c|a+c=b|b+c=a)p rintf C non-triangle.,z);else if(a二二b&b二 二c)p rintf(,zequilateral triangle.z/);else if(a二二b&b!=c|a=c&c!=b|b=c&c!=a)p rintf(,zisoceles triangle.z,);else p rintf(z/triangle.z/);)结果:输入:2 2 2输出:equilateral triangle.程序实例2:#includevoid main()(int a,b,c;scanf(d%d%d,&a,&b,&c);if(a二二b&b二二c&c二二a)p rintf C equilateral triangle.n);elseif(a+bc&a+cb&b+ca)(a=b|b=c|c=a)?p rintf(isocelestriangle.n):p rintf(triangle.n);else p rintf(z,non-triangle.nz,);结果:输入:1 3 1输出:non-triangle.5 求解一元二次方程初中的时候我们就会求解一元二次方程了,下面让我们来教计算机如何求解。输 入a,b,c,就一元二次 方 程ax2+bx+c=0的根。输入:假 设a,b,c均int。输出:要求输出的根为double型,保 留6位小数。程序实例1:#include stdio.h#include math.void main()int a,b,c,a2;double xl=0,x2=0,q;scanf(d%d%d”,&a,&b,&c);q二b*b 4*a*c;a2=2*a;if(a=0)if(b=O)p rintf(I np ut error!n,z);else p rintf(x=%,6fn”,-c*L 0/b);)else if(q0)p rintf(/zxl=%.6fnx2=%.6fnz/,(-b+sqrt(q)/a2,(-b-sqrt(q)/a2);else if(q=0)p rintf(xl=x2=%.6fn”,-b*L 0/a2);else if(q0)if(b=0)p rintf(/xl=%.6finx2=%.6fin”,sqrt(-q)/a2,-sqrt(q)/a2);elsep rintf(xl=%,6f+%.6finx2=%.6f-%.6fi”,-b*L 0/a2,sqrt(-q)/a2,-1.0*b/a2,sqrt(-q)/a2);)结果:输入:0 0 0输出:I np ut e r r o r!输入:2 2 2输出:xl=-0.50 0 0 0 0+0.8 660 2 51x2=-0.50 0 0 0 0-0.8 660 2 5i程序实例2:#include#include void main()double a,b,c,d;scanfC%lf%lf%ir,&a,&b,&c);d=b*b-4*a*c;if(a=0&b=0)elseelseelseelseelseif(a=0)if(d=0)if(d0)if(b=0)p rintf(I np ut error!n,z);p rintf(z/x=%lfnz/,c=0?0:-c/b);p rintfC xl=x2=%.61fn,b=O?O:-b/(2*a);p rintf(/zxl=%lfnx2=%lfn,z,(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a);p rintf(,xl=%lfinx2=-%lfinz,,sqrt(-d)/(2*a),sqrt(-d)/(2*a);p rintf(/zxl=%lf+%lfinx2=%lf-%lfin/z,-b/(2*a),sqrt(-d)/(2*a),-b/(2*a),sqrt(-d)/(2*a);结果:输入:10 0 0输出:xl=x2=0.0 0 0 0 0 0你会输出一行星号吗?(本题不记分噢)我们才开始上机,现在需要我们用最简单得办法,在一行中输出N个星号。输入:N值输出:一行中N个星号。程序实例1:#includevoid main()(int n,i;scanf(%d,&n);for(i=l;i=n;i+)p rintf(*);p rintf(n);)结果:输入:4输出:*输入:8输出:*6计 算SUM的值已知公式:S U M =1+1/2 +1/3 +1/4 +.+1/n输入:n输出:表 达 式s u m的值。结果保留6位小数。程序实例1:#includevoid main()int n,k;double sum;scanf(d,&n);sum=l.0;for(k=2;k=n;k+)sum=sum+1.0/k;p rintf(,zsum=%.61fn,sum);)结果:输入:1输出:sum=l.0 0 0 0 0 0程序实例2:#includevoid main()(double sum,i;int n;scanf(%d,&n);for(i=l,sum=0;i=n;i+)sum=sum+l/i;p rintf(sum=%.61f,sum);)结果:输入:3输 出:sum=1.8 3 3 3 3 37贪吃的猴子有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。以后每天早上都吃了前一天剩下的一半加天数个(例如,第 5 天吃了前一天剩下的一般加5 个)。到 第 n 天早上再想吃的时候,就只剩下一个桃子了。输入:天数n输出:第一天的桃子个数程序实例1:#include void main()int n,i,y;scanf(d”,&n);for(i=n-l,y=l;i=l;i)y=2*(i+y);if(y=l)p rintf(T he monkey got%d p each in first day.,y);if(y!=1)p rintf(T he monkey got%d p eachs in first day.”,y);)结果:输入:3输H l:T he monkey got 14 p eachs in first d ay.8 求最后3 位数值中学时我们就会求一个数的n 次方了,但计算机不会,请你来编写一个程序吧。由于计算机比较笨,所以我们编写程序的功能不用太强,只要能算出a 的 n次方的最后3 位数就可以了。输入:和 n的值。假 设*=150 o输出:求 a 的 n次方的最后3 位数。程序实例1:#i n cl u d e v o i d m ai n()(i n t i,x,y,m=l;s can f(d&x,&y);f o r(i=l;i=y;i+)m=m*x%1000;i f(m=0)p r i n t f (,zTh e l as t 3 n u m be r s i s 000.n);e l s ep r i n t f(Th e l as t 3 n u m be r s i s%d.n,m);)结果:输入:10 0输出:Th e l as t 3 n u m be r s i s 1.程序实例2:#i n cl u d e v o i d m ai n()(i n t a,n,i,s;s can f (d%d”,&a,&n);i=l;s=l;w h i l e(i=n)s=s*a%1000;i+;i f (n!=0)p r i n t f (,zTh e l as t 3 n u m be r s i s%0.3d.n,z,s);e l s e p r i n t f (Th e l as t 3 n u m be r s i s%d.n ,s);)结果:输入:100 10输出:Th e l as t 3 n u m be r s i s 000.9 分数的四则运算在小学时我们就学习了分数的四则运算,即对两个分数进行加、减、乘、除等运算,现在我们尝试下用C 语言来实现。输入:分 数 1 操 作 符 分 数 2输出:计算结果要求:计算结果使用分数表示,并且为最简化。例如结果为2/6,则被简化为1/3程序实例L#i n cl u d e i n t m ai n()(i n t a,b,c,d,e,f,x,y,z;ch ar g;s can f C%d/%d%c%d/%d,&a,&b,&g,&c,&d);i f(g=,+)e=a*d+b*c;f=b*d;i f(g=,-)e=a*d-b*c;f=b*d;i f(g=,*,)e=a*c;f=b*d;i f(g=,r )e=a*d;f=b*c;x=e;y=f;z=x%y;i f(z!=O)(w h i l e (z!=0)x=y;y=z;z=x%y;e=e/y;f=f/y;i f(f 0)p r i n t f(%d/%d%c%d/%d =%d/%d”,a,b,g,c,d,e,f);i f (f 0)p r i n t f (z,%d/%d%c%d/%d =%d/%d,z,a,b,g,c,d,-e,-f);e l s e p r i n t f (,z%d/%d%c%d/%d =%dz,,a,b,g,c,d,e/f);p r i n t f (n );r e t u r n 0;)结果:输入:1/3+1/2输出:1/3+1/2=5/6程序实例2:#i n cl u d e,zm at h.h#i n cl u d e v o i d m ai n()(i n t a,b,c,d,m,n,x,y,v;ch ar z;s can f (%d/%d%c%d/%d,&a,&b,&z,&c,&d);s w i t ch (z)cas e (+):m=a*d+b*c;n=b*d;br e ak;cas e m=a*d-b*c;n=b*d;br e ak;cas e (*):m=a*c;n=b*d;br e ak;cas e (/):m=a*d;n=b*c;br e ak;x=f abs(m);y=f abs(n);v=x%y;w h i l e(v!=O)x=y;y=v;v=x%y;i f(m/y=O)p r i n t f (/z%d/%d%c%d/%d =0 nz/,a,b,z,c,d);e l s e i f (n/y=l)p r i n t f (z,%d/%d%c%d/%d =%d n”,a,b,z,c,d,m/y);e l s e p r i n t f (%d/%d%c%d/%d =%d/%d nz/,a,b,z,c,d,m/y,n/y);结果:输入:1/2+2/6输出:l/2+2/6=5/61 0 黑色星期五在西方,,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又恰逢星期五就叫 黑色星期五”。输入:年份输出:判断该年是否包含黑色星期五,如包含,给出具体日期程序实例1:t t i n cl u d e s t d i o.h v o i d m ai n O(i n t y e ar,m o n t h,d ay,i,k=0,r u i n i an,n;i n t a 12=6,2,2,5,0,3,5,1,4,6,2,4;i n t b 12=6,2,3,6,1,4,6,2,5,0,3,5,c 12=0;s can f f t y e ar);n=(y e ar%400)*36 5+(y e ar%400+3)/4-(y e ar%400)/100+5)%7;r u i n i an=(y e ar%4=0&y e ar%100!=0|y e ar%400=0);f o r (i=0;i 12;i+)i f (r u i n i an=l)?b i:a i)+n)%7=5)(c i=l;k+;)p r i n t f (vTh e r e%s%d Bl ack%s i n y e ar%d.n%s:n ,(k=l)?i s :ar e”,k,(k=l)?Fr i d ay :Fr i d ay s”,y e ar,(k=l)?It i s :Th e yar e );f o r (i=0;i 12;i+)i f (c i=l)p r i n t f (/%d/%d/13 n,/,y e ar,i+1);结果:输入:2006输出:Th e r e ar e 2 Bl ack Fr i d ay s i n y e ar 2 0 0 6.Th e y a r e:2006/1/132006/10/13程序实例2:#i n cl u d ez,s t d i o.h v o i d m ai n()i n t m,y,k=0,i,w,a 6;s can f (级d,&y);f o r(m=l;m=2;m+)w=(13+2*(m+12)+3*(m+13)/5+y-l+(y-1)/4-(y-1)/100+(y-1)/400)%7;i f(w=4)a k=m;k+;)f o r(m=3;m 13;m+)w=(l 3+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;i f (w=4)a k=m;k+;i f (k=l)p r i n t f (Th e r e i s 1 Bl ack Fr i d ay i n y e ar%d.n l t i s:n%d/%d/13 n,z,y,y,a 0);e l s e p r i n t f (Th e r e ar e%d Bl ack Fr i d ay s i n y e ar%d.n,k,y);p r i n t f(Th e y ar e:n);f o r(i=0;i k;i+)p r i n t f(%d/%d/13 n”,y,a i);)结果:输入:2007输出:Th e r e ar e 2 Bl ack Fr i d ay s i n y e ar 2007Th e y ar e:2007/4/132007/7/131 1 百马百担有100匹马,驮100担货,其中大马驮3担,中马驮2担,两匹小马驮1担输入:无输出:大、中、小马的个数,用逗号分隔。例如:2,30,6 8说明:大、中、小马都必须有,结果中要列出所有的组合可能每个结果占一行因为有多个结果,结果的排序按照大马的个数从少到多程序实例1:#i n cl u d e v o i d m ai n()i n t bi g Ho r s e,m i d d l e Ho r s e,s m al l Ho r s e;bi g Ho r s e=O;w h i l e(bi g Ho r s e=33)(m i d d l e Ho r s e=l;w h i l e(m i d d l e Ho r s e 50)(s m al Ho r s e=100-bi g Ho r s e-m i d d l e Ho r s e;i f(3*bi g Ho r s e+2*m i d d l e Ho r s e+s m al l Ho r s e/2=100&s m al l Ho r s e%2=0)p r i n t f (,z%d,%d,%d n ,bi g Ho r s e,m i d d l e Ho r s e,s m al l Ho r s e);m i d d l e Ho r s e+;bi g Ho r s e+;)结果:输入:无输出:2,3 0,6 85,2 5,7 08,2 0,7 211,15,7414,10,7617,5,7 8程序实例2#i n cl u d e v o i d m ai n()(i n t a,b,c;f o r(a=0;a=33;a+)(f o r (b=l;b50;b+)(c=100-a-b;i f(3*a+2*b+c/2=100&c%2=0)p r i n t f (*%d,%d,%d nz/,a,b,c);)结果:输入:无输出:2,30,6 85,25,7 08,20,7 211,15,7 414,10,7 617,5,7 81 2 零钱换整钱小明去银行存钱,拿了一堆硬币。已 知 1 角的硬币厚度为1.8 m m ,5 角的硬币厚1.5m m ,1元的硬币为2.0 m m。小 明 将 1 角的硬币放成一摞,将 5 角的硬币硬币放成一摞,将 1 元的硬币放成一摞,发 现 3 摞硬币一样高。银行正好把这些硬币换成若干张面值为1 0 元的纸币。问小明至少带了多少钱的硬币(元为单位),每种面值的硬币有多少个?输入:无输出:1角的数量,5 角的数量,1 元的数量,总金额。(例如:20,30,4 0,5 0)说明:在结果中只输出各个对应的数字即可程序实例1:#include int y ue(int a,int b)(int t;t=a%b;while(t)a=b,b=t,t=a%b;return b;)int main(vo id)int x,y,z;x=1 8*1 5/y ue(1 8,1 5);x=x*20/y ue(x,20);z=y=x/1 8+x*5/1 5+x/2;while(z%1 0 0)z+=y;p rintf(d,%d,%d,%dn”,z/y*x/1 8,z/y*x/1 5,z/y*x/20,z/1 0);return 0;)结果:输入:无输 出:5 0,6 0,4 5,8 0程序实例2:#includeint main()int i,j,k,a;fo r(i=1 0;i+=1 0)j=6*i/5;k=9*i/1 0;a=0.l*i+0.5*j+l.0*k;if(a%1 0=0)p rintf(d,%d,%d,%dn”,i,j,k,a);break;return 0;结果:输入:无输 出:5 0,6 0,4 5,8 01 3 找出最大素数素数是指一个只能被1 和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。输入:取值范围输出:该范围内的最大素数程序实例1#include include int judgeis(int a)(int i;fo r(i=2;isqrt(a);i+)if(a%i=0)return 0;return 1;)int main()(int n;s c a n f&n);while(judgeis(n)=0)n一;p rintf(,/The max p rime number is%d.z,,n);return 0;)结果:输入:1 0 0输出:The max p rime number is 97.程序实例2:#include#includeint I sPrime(int n)int i;fo r(i=2;i=0)o输出:打印相应的空心倒三角形。图样参见测试用例。程序实例1:#include int main(vo id)(int n,i,j;scanf(d,&n);fo r(i=0;i n;i+)fo r(j=0;j(2*n-l-i);j+)if(i-0|i=j|j=(-i+2*n-2)p rintf;else p rintf();)p rintf(n);)return 0;)结果:输入:3输出:*程序实例2:#include stdio.hvo id main()int r,1,h;scanf(d”,&h);fo r(r=l;r=2*h-l;r+)p rintf(*);fo r(r=2;r=h;r+)p rintf(n);fo r(1=1;l=2*h-r;1+)p rintf(%s,(l=r|l=2*h-r)?*:/z);)结果:输入:5输出:*1 5 空心字符菱形输入:菱型起始字母和菱形的高度。输出:参看测试用例,打印空心的由字符组成的菱形。程序实例1:include stdio.h#include math,h”vo id main()char c;int n,i,j;scanf(,%c%d/,&c,&n);fo r(c=c+n-l,i=l-n;i=n-l;i+)fo r(j=l;j=2*n-l-abs(i);j+)if(j=abs(i)+l|j=2*n-l-abs(i)p rintf(%c,c-abs(i);else p rintf(z z );p rintf(n);)结果:输入:C 4输出:CD DE EF FE ED DC程序实例2:#include,zstdio.hint main()(int i,j,h;char e;scanf(%c%d”,&e,&h);fo r(i=l;i=h;i+)fo r(j=l;j=h+i-l;j+)if(j-h-i+l|I j=h+iT)p rintf(绘c”,e+i T);else p rintfC );p rintf(n);fo r(i=h+l;i=2*h-l;i+)fo r(j=l:j=3*h-i-l;j+)if(j=i-h+l|j=3*h-i-l)p rintf e+2*h-iT);else p rintfC );p rintf(n);return 0;结果:输入:S 3输出:ST TU UT TS1 6邮票组合(选作)背景:我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或几张的组合,可以满足不同邮件的不同的邮资。现在,邮局有4种不同面值的邮票。在每个信封上最多能贴5张邮票,面值可相同,可不同。输入:四种邮票的面值。输出:用这四种面值组成的邮资最大的从1开始的一个连续的区间。说明:如结果为1 0,则表明使用4张邮票可组合出1、2、3、4、5、6、7、8、9、1 0这些邮资。名词解释:邮资:就是你寄东西需要花多少钱。邮票面额:是由国家发行的具有固定价格的花纸片,被称为邮票。如果你寄东西,邮局称了重量,告诉你要2 4 0分。这样你就要贴邮票了。如果现在邮局的邮票有面值为8 0分、5 0分、2 0分 和1 0分的四种,你就可以采用不同的组合得到2 4 0的邮资,例如:采 用3张8 0分的可以凑出2 4 0分;或 者2 4张1 0分的凑起来2 4 0分也可以。显然不同邮票的组合都可以得到同样一种邮资。程序实例1:/*This program is to find the max set*/#includemain()int a,b,c,d,i,j,k,1;static int s1 0 0 0;scanf(z/%d%d%d%d,/,&a,&b,&c,&d);for(i=0;i=5;i+)for(j=0;i+j=5;j+)for(k=0;k+i+j=5;k+)for(l=0;k+i+j+l=5;l+)if(a*i+b*j+c*k+d*l)sa*i+b*j+c*k+d*l+;for(i=l;i=1 0 0 0;i+)if(!si)break;printf(,zThe max is%d.n,-i);return 0;)结果:输入:1 4 1 2 2 1输出:The max is 7 1.程序实例2:#include stdio.hint total,max;int value5,num1 0 0 0 =0 ;void findmax(int n,int p)int i;if(p 5 )for(i=n;i =4;i+)total+=valuei;if(max total)max=total;numtotal=1;findmax(i,p+1);total-=valuei;)int main()int i;for(i=l;i =4;i+)scanf(z,%d,z,&valuei);total=0;max=0;findmax(1,0);for(i=l;i =max;i+)if(!numi)break;printf(The max is%d.n,i -1);return 0;结果:输入:1 3 7 1 2输出:The max is 4 6.17谁能出线背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。按规定,每1 0名学生为 个预赛小组,评委打出分数(0 1 0 0分),各小组第一名可以进入下一轮;如果有多名学生得分相同都是第一名,则可同时进入下一轮。输入:按顺序给出一个小组1 0个人的最后得分(int),输出:能够出线的学生序号(0 9)。程序实例1:#include“stdio.hmainO(int i,maxa1 0 =0 ,num,max=0,a1 0;for(i=0;i 1 0;i+)scanf(%d”,&ai);/*输入*/for(i=0;i max)/*如果大于最大值*/(max=ai;/*保存最大值*/num=l;/*个数*/maxa 0=i;/*保存下标*/)else if(ai=max)/*如果等于最大值*/(maxa num=i;/*保存下标*/num+;)for(i=0;i num;i+)/*输出*/printf(%dn,maxai);)结果:输入:989810097959490949392输出:2程序实例2;#include void main()int i,a1 0,m=0;for(i=0;i m)m=ai;)for(i=0;i 1 0;i+)if(ai=m)printf(%dn,i);)结果:输入:9998999 79 59 99 09 49 31 0 0输出:918等值数列段(0 6 秋)如果一个数列中的某一段(至少有两个元素)的各元素值均相同,则称之为等值数列段。等值数列段中元素的个数叫做等值数列段的长度。输入:由N个元素组成的整数数列A (其中N =5 0)输出:A中长度最大的所有等值数列段的始末位置,如果没有等值数列段,则输出N o equal numberlist.说明:始末位置是指数组下标,即 0表示第一个元素。如果有多个同等长度的等值数列,只输出第一个等值数列的起始位置。当在一个L I ST中出现两个等长的连续串的时候,我们的答案应该是第一个等长串。开始,输入程序实例1:#includez,stdio.hmainO(int i=0,j=0,k,n,max=0,maxnum=O,a5 0;scanf(刎 ,&n);for(i=0;i n;i+)scanf(z,%d,z,&ai);/*输入*/for(i=j;i0)/*输出*/p r i n t f (z,T h e l o n g e s t e q u al n u m b e r l i s t i s f r o m%d t o%d.n,z,m ax,m ax n u m+m ax-1);e l s ep r i n t f(N o e q u al n u m b e r l i s t.n);结果:输入:51 2 3 4 5输出:N o e q u al n u m b e r l i s t.程序实例2:#i n c l u d e s t d i o.h v o i d m ai n()(i n t a,x 50 ,i,j,m=0,n=0;s c an f (d,&a);f o r(i=0;i a;i+)s c an f (级d,&x i );f o r(i=0;

    注意事项

    本文(北理c语言上机答案(全).pdf)为本站会员(奔***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开