




已阅读5页,还剩146页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京理工大学09级C语言编程练习答案(计算机类,信息类历年完整版)1 计算圆柱的侧面积及体积成绩: 10 / 折扣: 0.8如果已知圆柱的底面半径 r ,以及高 h ,则可计算出圆柱的侧面积 s=2rh ,体积 v= r 2 h 。其中 =3.1415926 输入 第一行输入圆柱的底面半径 r第二行输入圆柱的高 h 输出 s=,v= 要求 1. 所有变量都定义为双精度类型2. 结果精确到小数点后两位#include int main() double r,h,s,v; double pi=3.1415926; scanf(%lf,&r); scanf(%lf,&h); s=2*pi*r*h; v=pi*r*r*h; printf(s=%.2lf,v=%.2lfn,s,v); 2 计算时钟的夹角成绩: 10 / 折扣: 0.8背景: 钟面上的时针和分针之间的夹角总是在 0 180之间 ( 包括 0 和180 ) 。举例来说,在十二点的时候两针之间的夹角为 0 ,而在六点的时候夹角为180 ,在三点的时候为90 。本题要解决的是计算 12:00 到 11:59 之间任意一个时间的夹角。输入: 每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 在区间 0, 59 上 ) 。 输出: 对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。输出格式如下所示。#include int main() float m; int h,p; scanf(%d%f,&h,&m); p=h; if(p=12) p=0; float d; if(p*30+m/2)m*6) d=p*30+m/2-m*6; else d=m*6-p*30-m/2; if(m10) printf(At %d:0%.0f the angle is %.1f degrees.n,h,m,d); else printf(At %d:%2.0f the angle is %.1f degrees.n,h,m,d); 3 温度转换成绩: 10 / 折扣: 0.8背景: 经常出国旅行的驴友都知道,需要时时了解当地的气温状况,但不少国家采用了不同的温度计量单位:有些使用华氏温度标准(F),有些使用摄氏温度(C)。现在,请你根据温度转换公式设计一个温度转换程序,可以进行温度转换。如果输入摄氏温度,显示转换的华氏温度;如果输入华氏温度,显示转换的摄氏温度。温度转换的公式为:F(C95)32 ;C(F32)59 ;式中F-华氏温度,C-摄氏温度。输入: 第一个数据(1 或 2 )确定转换的类型:华氏转摄氏(1);摄氏转华氏(2);第二个数据是相应需要转换的温度值。 输出: 相应的转换后的温度值(保留小数点后 2 位)。 #include int main() int a; float x; float fc(float t); float cf(float m); scanf(%d%f,&a,&x); switch(a) case 1: printf(The Centigrade is %.2fn,fc(x); break; case 2: printf(The Fahrenheit is %.2fn,cf(x); break; float fc(float a) float b; b=(a-32)*5/9; return b; float cf(float a) float b; b=(a*9/5)+32; return b; 4 判断三角形的形状成绩: 10 / 折扣: 0.8要求:输入三角型的三条边,判断三角形的形状。假设输入的三边边长均0。输入:三角型的3条边的长度(int型)。输出:等边三角形:equilateral triangle等腰三角形:isoceles triangle不构成三角形:non-triangle一般三角形:triangle#include int main() int a,b,c; scanf(%d%d%d,&a,&b,&c); if (a=b&b=c) printf(equilateral triangle.n); else if(a+b=c|a+c=b|b+c=a) printf(non-triangle.n); else if(a=b|b=c|a=c) printf(isoceles triangle.n); else printf(triangle.n); 5 求解一元二次方程成绩: 15 / 折扣: 0.8初中的时候我们就会求解一元二次方程了,下面让我们来教计算机如何求解。输入 a,b,c ,就一元二次方程 ax+bx+c=0 的根。 输入:假设 a,b,c均int。输出:要求输出的根为 double 型,保留 6 位小数。#include #include int main() int a,b,c; int r=0; /0一般 scanf(%d%d%d,&a,&b,&c); double x1,x2; if (b*b-4*a*c0) printf(x1=%.6lfnx2=%.6lfn,x1,x2); else printf(x1=%.6lfnx2=%.6lfn,x2,x1); break; case 1: double d,e,f; d=a,e=b,f=c; x1=(-e)/(2*d); x2=(sqrt(4*d*f-e*e)/2/d); if(b=0) if(d0) printf(x1=%.6finx2=%.6lfin,x2,-x2); else printf(x1=%.6finx2=%.6lfin,x2,-x2); else if(d0) printf(x1=%.6lf+%.6finx2=%.6lf-%.6lfin,x1,x2,x1,x2); else printf(x1=%.6lf%.6finx2=%.6lf%.6lfin,x1,x2,x1,-x2); break; case 2: x1=(-b)/(2*a); printf(x1=x2=%.6lfn,x1); break; case 3: printf(Input error!n); break; case 4: float bb=b; float cc=c; float xx=-0; x1=-cc/bb; if (x1=xx) x1=-x1; printf(x=%.6lfn,x1); break; 6 计算SUM的值成绩: 5 / 折扣: 0.8已知公式:SUM = 1 + 1/2 + 1/3 + 1/4 + . + 1/n 输入: n 输出: 表达式 sum 的值。结果保留 6 位小数。 #includeint main()double n;scanf(%lf,&n);double s=0;for (doublep=1;p=n;p+)s=s+1/p;printf(sum=%.6lfn,s);7 贪吃的猴子成绩: 5 / 折扣: 0.8有一只猴子,第一天摘了若干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了一个。第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一般加5个)。到第n天早上再想吃的时候,就只剩下一个桃子了。输入: 天数n输出: 第一天的桃子个数#include int main() int n; scanf(%d,&n); int s=1; for (int i=n;i1;i-) s=(s+i-1)1; if(s=1) printf(The monkey got %d peach in first day.n,s); else printf(The monkey got %d peachs in first day.n,s); 8 求最后3位数值成绩: 5 / 折扣: 0.8中学时我们就会求一个数的 n 次方了,但计算机不会,请你来编写一个程序吧。由于计算机比较“笨”,所以我们编写程序的功能不用太强,只要能算出 a 的 n 次方的最后 3 位数就可以了。 输入: a 和 n 的值。假设 a=150 。 输出: 求 a 的 n 次方的最后 3 位数。#include int main() int a,n;int s=1;int q=0; scanf(%d%d,&a,&n); for(int t=0;t1000)s=s%1000;q=1; int e=s%1000; if(q=0) printf(The last 3 numbers is %d.n,e); else printf(The last 3 numbers is %03d.n,e);9 找出最大素数成绩: 5 / 折扣: 0.8素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。输入: 取值范围输出: 该范围内的最大素数#includevoid main()int n;scanf(%d,&n);int yn(int a);int end;for( int i=n;i0;i=i-1)if (yn(i)!=0)end=i;break;printf(The max prime number is %d.n,end);int yn(int a)int q=1;for(int p=2;pa;p+)if(a%p=0)q=0;if(q=0)break;return q;10 黑色星期五成绩: 5 / 折扣: 0.8在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。输入: 年份输出: 判断该年是否包含黑色星期五,如包含,给出具体日期#include #include void main() int month212=0,3,0,3,2,3,2,3,3,2,3,2,0,3,1,3,2,3,2,3,3,2,3,2; /1平年2闰年 int year,a; int count=0; int day=0; scanf(%d,&year); if(year%4=0) a=1; else a=0; /2012-1-13 friday int c=(year-2012)%4; int b=(year-c-2012)/4; switch(c) case 1:case 2:case 3: day=(day+5*b+c+1)%7; break; case 0: day=(day+5*b)%7; break; int daytemp=day; for(int i=0;i12;i+) daytemp=daytemp+monthai; if (daytemp)%7=0) count+; if(count=1) printf(There is %d Black Friday in year %d.nIt is:n,count,year); else printf(There are %d Black Fridays in year %d.nThey are:n,count,year); int daytemp1=day; for(int i=0;i12;i+) daytemp1=daytemp1+monthai; if (daytemp1)%7=0) printf(%d/%d/13n,year,i+1); 11 小学一年级的算术运算成绩: 5 / 折扣: 0.8 两个一年级小朋友在一起玩游戏,小明给出一堆一位的正整数和运算要求(+、-、*、/、%),小丽要找出这些整数中的最大值和最小值,然后按照小明的要求算出最大数与最小数进行算术运算的结果。输入: 用逗号分隔的一位正整数序列,及其运算符和等号输出: 最大数 op 最小数=结果#include int main()int op=0;int max=0;int min=9;for(;1;)char c;scanf(%c,&c);if(c=,)continue;if(c=+)op=1;else if(c=-)op=2;else if(c=*)op=3;else if(c=/)op=4;else if(c=%)op=5;else if(c=)break;else if(c=0)if(c-0)max)max=c-0;if(c-0)min)min=c-0;switch (op)case 1:printf(%d+%d=%dn,max,min,max+min);break;case 2:printf(%d-%d=%dn,max,min,max-min);break;case 3:printf(%d*%d=%dn,max,min,max*min);break;case 4:if(min=0)printf(Error!n);elseprintf(%d/%d=%dn,max,min,max/min);break;case 5:if(min=0)printf(Error!n);elseprintf(%d%d=%dn,max,min,max%min);break;12 寻找特殊整数成绩: 10 / 折扣: 0.8请编写一个程序寻找一种特殊整数:一个 n 位的正整数等于其各位数字的n次方之和。例如:407=444+000+777。所以407就是一个特殊数。输入: 正整数的位数n(n=6)。输出: 所有此n位特殊数。每个数占一行。若不存在符合条件的特殊数,则输出提示:“No output.”;若存在,则从小到大进行输出。说明:假设输入为4,在4位整数中,有3个4位的特殊数,则输出格式为(输出中的1111、2222和9999并不是4位特殊数,只是格式样例):111122229999#include int f(int n,int a)int s=1;for(int i=0;ia;i+)s=s*n;return s;int ff(int n)int s=0;for(int i=0;n!=0;i+)s=s+(n/10)%10);n=n/10;return s;void main()int a;scanf(%d,&a);int max=1;int min=1;int flag=1;if(a=1)printf(1n2n3n4n5n6n7n8n9n);else for(int i=0;ia;i+)max=max*10;max=max-1;int count=0;int sum=0;int count10=0;for(int i=0;ia-1;i+)min=min*10;if(a=6)int count10=10;for(int t=540000;tmax;)if(count10=10)int ttt=t;if(ff(t)%2=1)t=t+10;count10=0;continue;int sum=0;int tt=t;for(int i=0;ia;i+)sum=sum+f(tt%10,a);tt=tt/10;if(sum=t) printf(%dn,t);flag=0;t+;count+;count10+; if(flag=1)printf(No output.n);elsefor(int t=min;tmax;t+)int sum=0;int tt=t;for(int i=0;i= 0)。输出: 打印相应的空心倒三角形。图样参见测试用例。#include void main() int n; scanf(%d,&n); for (int i=0;i(2*n-1);i+)printf(*); printf(n);for (int p=1;pn;p+)for(int q=1;q=(2*n-1-p);q+)if (q=(p+1) printf(*); else if (q=(2*n-1-p)printf(*);elseprintf( ); printf(n);14 空心字符菱形成绩: 5 / 折扣: 0.8输入: 菱型起始字母和菱形的高度。输出: 参看测试用例,打印空心的由字符组成的菱形。#include int main() int n; char c; scanf(%c%d,&c,&n); if (n=1) printf(%cn,c); else for(int i=0;in-1;i+) printf( ); printf(%cn,c); for(int i=2;i=n;i+) for(int j=0;jn-i;j+) printf( ); printf(%c,c+i-1); for(int k=0;k=2;i-) for(int j=0;jn-i;j+) printf( ); printf(%c,c+i-1); for(int k=0;k2*(i-1)-1;k+) printf( ); printf(%cn,c+i-1); for(int i=0;in-1;i+) printf( ); printf(%cn,c); H4:小蜜蜂(选作)成绩: 5 / 折扣: 0.8一只小蜜蜂在如下图所示的蜂窝上爬行。它爬行时,只能从一个格爬到相邻的大号格子中。例如,从 1 号格子可以爬到 2 号或者 3 号格子,从 2 号则可以爬到 3 号或者 4 号格子。 请问从一个格子 a 爬到一个格子 b 一共有多少种可行的路线。 输入:分别是起始点 a 和终止点 b 的编号。( a 和 b 在 1100 之间,且 ab 。) 输出:#includestdio.h#define N 50int main()int bN=0;int cN=0;int i,j,k,n,a1,a2,t,l=0;b1=c1=1;scanf(%d%d,&a1,&a2);n=a2-a1+1;for(j=3;j=n;j+)for(i=1;i=10)l=1;bi+1=bi+1+1;bi=bi%10;k=N;while(b-k=0)for(i=k;i=1;i-)printf(%d,bi);printf(n);return 0;H5:数制转换(选作)成绩: 5 / 折扣: 0.8我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。 这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如 12 和 5 ,在十进制下它们是不等的,但若 12 使用 3 进制而 5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制, 12 和 5 就可以是相等的。 程序的输入是两个数字 M 和 N( 其十进制的值不超过 1000000000) ,它们的进制在 236 之间。对于十以下的数字,用 09 表示,而十以上的数字,则使用大写的 AZ 表示。 求出分别在 236 哪种进制下 M 和 N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。#include long double mypow(int x,int y) long double result=1; for(int i=0;i0;i-) result=result+(*(a+k)*mypow(base,i-1); k+; return result; int change(char c)/change into number in 36base int result=-1; if (c=0)&(c=A)&(c=a)&(c=z)result=(c-a)+10; return result; int main() int flag=0; int numtemp240; for(int i=0;i2;i+) for(int j=0;j40;j+) numtempij=-1; char ch80; char ch140,ch240; int choice=0; int m=0; /get string gets(ch); for(int i=0;i1;i+) if(chi= ) for(int j=i;j40;j+) chj=chj+1; i=i-1; for(int i=0;i80;i+) if(chi=0) break; else if(chi=32) choice=1;m=0; else numtempchoicem=change(chi);m+; /FIND max value int max1=1,max2=1; for(int i=0;imax1) max1=numtemp0i; if(numtemp1imax2) max2=numtemp1i; /find lenth int lenth1=0,lenth2=0; for(int i=0;i40;i+) if(numtemp0i=-1) break; lenth1+; for(int i=0;i40;i+) if(numtemp1i=-1) break; lenth2+; /save string into ch1,ch2 for(int i=0;i40;i+) if(chi= ) for(int j=i;j40;j+) chj=chj+1; i=i-1; char *chp; chp=&ch0; for(int i=0;ilenth1;i+) ch1i=*chp; chp+; ch1lenth1=0; for(int i=0;ilenth2;i+) ch2i=*chp; chp+; ch2lenth2=0; /caculate for(int i=max1+1;i37;i+) for(int j=max2+1;j37;j+) if(f(&numtemp00,lenth1,i)=f(&numtemp10,lenth2,j) printf(%s (base %d) = %s (base %d)n,ch1,i,ch2,j); flag=1; if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年文化娱乐行业消费者行为洞察:细分市场趋势分析与策略布局报告
- 2025年事业单位工勤技能-湖北-湖北房管员一级(高级技师)历年参考题库含答案解析
- 2025-2030中国纳豆激酶市场需求量格局与销售渠道分析报告
- 2025年事业单位工勤技能-湖北-湖北假肢制作装配工五级(初级工)历年参考题库含答案解析
- 文化遗产数字化保护与利用技术在我国文化遗产保护领域的应用现状与对策报告
- 2025年区块链在跨境支付中的跨境支付跨境支付技术跨境支付技术法规解读报告
- 2025年事业单位工勤技能-河北-河北中式烹调师一级(高级技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西计量检定工五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广西-广西无损探伤工四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东食品检验工一级(高级技师)历年参考题库含答案解析
- 2025年湖北省宜昌市【辅警协警】笔试模拟考试(含答案)
- 2025学校“三重一大”事项集体决策制度及会议记录
- 动脉采血常见并发症及处理护理
- 2025年高压电工作业操作证考试题库及答案含答案
- 2025年我国优抚安置政策法规考试试题及答案解析
- 快递驿站分区管理办法
- 中职学校就业管理办法
- 保税进口料件管理办法
- 2025发展对象考试测试题库附含答案
- 绘画种类介绍课件图片
- 安装设备安全培训
评论
0/150
提交评论