ImageVerifierCode 换一换
格式:DOCX , 页数:158 ,大小:720.78KB ,
资源ID:9820426      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9820426.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北京理工大学C语言网络教室编程练习题答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北京理工大学C语言网络教室编程练习题答案.docx

1、北京理工大学C语言网络教室编程练习题答案C语言程序设计网络课堂习题(1-56题)1. Hello world.输入:无输出:Hello world.程序:#includeint main() printf(Hello world.n); return 0;2. Welcome to Beijing.程序:#include int main() printf(Welcomen); printf(ton); printf(Beijing.n); return 0;3. 求A+B输入:整数1 整数2输出:整数1+整数2=和程序: #includeint main() int a,b; scanf(%

2、d,&a); scanf(%d,&b); printf(%d+%d=%dn,a,b,a+b); return 0;4. 求 x 的 3次方输入:一个整数。 输出:该整数的 3 次方值。程序: #includeint main() int x; scanf(%d,&x); printf(%dn,x*x*x); return 0; 5. 学习打印你的第一个图形编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。程序: #include int main() printf( *n); printf( *n); printf( *n); printf(*n); return 0; 6. 一年级

3、的算术题输入: 接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444输出:分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。程序: #includeint main() int a,b; scanf(%d %d,&a,&b); printf(%d+%d=%dn,a,b,a+b); printf(%d-%d=%dn,a,b,a-b); printf(%d*%d=%dn,a,b,a*b); printf(%d/%d=%dn,a,b,a/b); printf(%d%d=%dn,a,b,a%b); return 0;7. 求两个变量的最小值输入:两个整型数输出:两个整型值

4、中的最小值程序: #includeint main() int a,b; scanf(%d%d,&a,&b); printf(min=%dn,ab?a:b); return 0;8. 判断三角形的形状 输入:三角型的3条边的长度(int型)。输出:等边三角形:equilateral triangle等腰三角形:isoceles triangle不构成三角形:non-triangle一般三角形:triangle#include #include int main() int a,b,c; scanf(%d%d%d,&a,&b,&c); if(a+bc&a+cb&b+ca) if (a=b&b=c

5、&a=c) printf(equilateral triangle.n); else if(a=b|a=c|b=c) printf(isoceles triangle.n); else printf(triangle.n); else printf(non-triangle.n); return 0;程序: #includeint main() int a,b,c; scanf(%d%d%d,&a,&b,&c); if(a+bc&a+cb&b+ca) if (a=b&b=c&a=c) printf(equilateral triangle.n); else if(a=b|a=c|b=c) pr

6、intf(isoceles triangle.n); else printf(triangle.n); else printf(non-triangle.n); return 0;9. 计算圆柱的侧面积及体积输入 :第一行输入圆柱的底面半径 r第二行输入圆柱的高 h 输出:s=,v= 要求 1. 所有变量都定义为双精度类型2. 结果精确到小数点后两位程序: #include#define PI 3.1415926int main() double r,h,s,v; scanf(%lf,&r); scanf(%lf,&h); s=2*PI*r*h; v=PI*r*r*h; printf(s=%.

7、2f,v=%.2fn,s,v); return 0;10. 计算时钟的夹角背景: 钟面上的时针和分针之间的夹角总是在 0 180之间 ( 包括 0 和180 ) 。举例来说,在十二点的时候两针之间的夹角为 0 ,而在六点的时候夹角为180 ,在三点的时候为90 。本题要解决的是计算 12:00 到 11:59 之间任意一个时间的夹角。输入: 每组测试数据包含两个数字:第一个数字代表小时 ( 大于 0 小于等于 12) ,第二个数字代表分 ( 在区间 0, 59 上 ) 。 输出: 对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。输出格式如下所示。程序

8、: #include#includeint main() int h,m; float d1,d2,d; scanf(%d%d,&h,&m); d1=30*(h+m/60.0); d2=m*360/60.0; d=fabs(d1-d2); if(d180) d=360-d; printf(At %d:%d the angle is %.1f degrees.n,h,m,d); return 0;11. 找出最大素数素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。输入:取值范围输出:该范围内的最大素数程序: #include int main() i

9、nt n,i,j; scanf(%d,&n); for(i=n;i=1;i-) for(j=2;ji;j+) if(i%j=0) break; if(j=i) printf(The max prime number is %d.n,i); break; 12. 求最后3位数值输入:a 和 n 的值。假设 a=150 。 输出:求 a 的 n 次方的最后 3 位数。程序:#includeint main() long int s=1; int a,n,i=1,t=1; scanf(%d%d,&a,&n); if(n=0) printf(The last 3 numbers is 1.n); el

10、se for(i=1;i=0&t=10&t=100&t1000) printf(The last 3 numbers is %d.n,t); return 0;13. 贪吃的猴子有一只猴子,第一天摘了若干个桃子 ,当即吃了一半,但还觉得不过瘾 ,就又多吃了一个。第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。以后每天早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一般加5个)。到第n天早上再想吃的时候,就只剩下一个桃子了。 输入:天数n输出:第一天的桃子个数程序: #includeint main() int i,n,amount=1; scanf(%d,&n

11、); for(i=n-1;i=1;i-) amount=2*(amount+i); printf(The monkey got %d peachs in first day.n,amount);14. 黑色星期五在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又恰逢星期五就叫“黑色星期五”。输入:年份输出:判断该年是否包含黑色星期五,如包含,给出具体日期程序: #includeint main() int i,n=0,year,month12=0; int a13=0,13,44,73,104,134,165,195,226,257,28

12、7,318,348; int b13=0,13,44,72,103,133,164,194,225,256,286,317,347; scanf(%d,&year); for(i=1;i13;i+) if (year%4=0 & year%100!=0)|year%400=0) if(year-1+(year-1)/4)-(year-1)/100)+(year-1)/400)+ai)%7=5) n+; monthn=i; else if(year-1+(year-1)/4)-(year-1)/100)+(year-1)/400)+bi)%7=5) n+; monthn=i; if(n=1) p

13、rintf(There is %d Black Friday in year %d.n,n,year); printf(It is:n); printf(%d/%d/13n,year,month1); else printf(There are %d Black Fridays in year %d.n,n,year); printf(They are:n); for (i=1;i=n;i+) printf(%d/%d/13n,year,monthi); return 0;15.你会输出一行星号?我们才开始上机,现在需要我们用最简单得办法,在一行中输出N个星号。输入:N值输出:一行中N个星号。

14、程序: #includeint main() int i,n; scanf(%d,&n); for(i=1;i=n;i+) printf(*); printf(n);16. 计算SUM的值已知公式:SUM = 1 + 1/2 + 1/3 + 1/4 + . + 1/n 输入: n 输出: 表达式 sum 的值。结果保留 6 位小数。程序: #includeint main() int i,n; double sum=0; scanf(%d,&n); for (i=1;i=n;i+) sum+=1.0/i; printf(sum=%.6lfn,sum); return 0;17. 寻找特殊整数请

15、编写一个程序寻找一种特殊整数:一个 n 位的正整数等于其各位数字的n次方之和。例如:407=444+000+777。所以407就是一个特殊数。输入:正整数的位数n(n=6)。输出: 所有此n位特殊数。每个数占一行。若不存在符合条件的特殊数,则输出提示:“No output.”;若存在,则从小到大进行输出。说明:假设输入为4,在4位整数中,有3个4位的特殊数,则输出格式为(输出中的1111、2222和9999并不是4位特殊数,只是格式样例):111122229999程序: #include#include int main() int n,i,j,num,t,s=0,t1,flag=0; sca

16、nf(%d,&n); t=pow(10,n-1); for (i=t;i= 0)。输出:打印相应的空心倒三角形。图样参见测试用例。程序:#include #include int main() int i,j,h; scanf(%d,&h); for (i=1;i=h;i+) for(j=1;ji;j+) printf( ); if(i=1|i=h) for(j=1;j=2*(h-i)+1;j+) printf(*); printf(n); else printf(*); for(j=1;j=2*(h-i)-1;j+) printf( ); printf(*n); return 0; 19.

17、空心字符菱形输入:菱型起始字母和菱形的高度。输出:参看测试用例,打印空心的由字符组成的菱形。程序:#include#include int main() int i,j,h; char ch; scanf(%c%d,&ch,&h); for (i=1;i=h;i+) for(j=1;j=h-i;j+) printf( ); printf(%c,ch+i-1); for(j=1;j=2*i-3;j+) printf( ); if(i=1) printf(n); continue; printf(%cn,ch+i-1); for (i=h+1;i=2*h-1;i+) for(j=1;j=i-h;j

18、+) printf( ); printf(%c,ch+(2*h-1)-i); for(j=1;j=(2*h-1-i)*2-1;j+) printf( ); if(i=2*h-1) printf(n); continue; printf(%cn,ch+(2*h-1)-i); return 0;20. 空心梯形输入行数 n 和首数字字符,在屏幕上输出由数字围起的高和下底宽度均 n 的空心梯形。 要求:输出的数字是循环的,即输出数字 9 后再输出的数字是 0。输入:行数n 和首字符输出:空心梯形程序: #include#include int main() int i,j,n,f,t=0; scan

19、f(%d%d,&n,&f); t=f; for(j=1;j=3*n-2;j+) if(j=3*n-2) printf(%d,t); else printf(%d ,t); if(j(3*n-1)/2) if(t=9) t=0; else t+; else if(j=(3*n-1)/2&n%2=0) continue; else if(t=0) t=9; else t-; printf(n); t=f; for (i=2;i=n;i+) for (j=1;j=2*(i-1);j+) printf( ); if(i=n) for (j=1;j=(n+1)/2;j+) if(t=9) t=0; pr

20、intf(%d ,t); else printf(%d ,+t); for (j=1;j=n/2;j+) if(t=0&n%2!=0) t=9; else if(j=1&n%2=0) if(j=n/2) printf(%dn,t); else printf(%d ,t); continue; else t-; if(j=n/2) printf(%dn,t); else printf(%d ,t); else if(t=9) printf(0); for(j=1;j=6*n-4*i-3;j+) printf( ); printf(0n); t=0; else t+; printf(%d,t);

21、for(j=1;j=6*n-4*i-3;j+) printf( ); printf(%dn,t); return 0;H1:计算通用产品代码(UPC)的校验位(选作)下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。然后把第二位、第四位、第六位、第八位和第十位数字相加。接着把第一次加法结果乘以3后再加上第二次加法的结果。随后,再把上述结果减去1。减法后的结果除以10取余数。最后,用9减去上一步骤中得到的余数。现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。把第一组加法值乘以3后再加上

22、第二组加法值得到的结果是30。再减去1,结果变为29。再把这个值除以10取余数为9。9在减去余数结果9,最终值为0。输入:每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。输出:UPC的校验位程序: #include#includeint main() int i,j,s1=0,s2=0,t; int a11; char b6,c6; scanf(%d,&a0); scanf(%s,b); scanf(%s,c); for (i=0,j=1;i5;i+,j+) aj=bi-48; for (i=0,j=6;i5;i+,j+) aj=c

23、i-48; for (i=0;i11;i+) if(i%2=0) s1+=ai; else s2+=ai; t=9-(s1*3+s2-1)%10; printf(%dn,t); return 0;H2:数制转换(选作)这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如 12 和 5 ,在十进制下它们是不等的,但若 12 使用 3 进制而 5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制, 12 和 5 就可以是相等的。 程序的输入是两个数字 M 和 N( 其十进制的值不超过 1000000000) ,它们的进制在

24、236 之间。对于十以下的数字,用 09 表示,而十以上的数字,则使用大写的 AZ 表示。 求出分别在 236 哪种进制下 M 和 N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。程序: #includeint main() long int pm=0,pn=0,s=0,t=0,w=1,e=1,p=0,q=0; int a30,b30; char m30,n30; int i,j,g,k,max1=0,max2=0,flag=0; scanf(%s%s,m,n); for(i=0;mi!=0;i+) if(mi=A&mi=Z)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1