C语言程序设计北京理工大学MOOC提交作业.docx
- 文档编号:3591574
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:64
- 大小:122.16KB
C语言程序设计北京理工大学MOOC提交作业.docx
《C语言程序设计北京理工大学MOOC提交作业.docx》由会员分享,可在线阅读,更多相关《C语言程序设计北京理工大学MOOC提交作业.docx(64页珍藏版)》请在冰豆网上搜索。
C语言程序设计北京理工大学MOOC提交作业
第一周作业
【练习1】HeUoWorld
成绩
0
开启时间
2014年10月21日星期二08:
00
折扣
0.8
折扣时间
2014年12月7日星期日23:
55
允许迟交
否
关闭时间
2014年12月7日星期日23:
55
让我们学习用C语言向世界问好。
“HelloWorld,,示例程序最早出现于1972年,由贝尔实验室成员BrianKernighan撰写的内部技术文件«IntroductiontotheLanguageB〉〉之中。
不久同作者于1974年所撰写& ATutorial》,也延用这个示例。 一般来说,这是每一种计算机编程语言中最基本、最简单的程序,亦通常是初学者所编写的第一个程序。 它还可以用来确定该语言的编译器、程序开发环境,以及运行环境是否已经安装妥当。 将“HelloWorld"作为第一个示范程序,已经成为编程语言学习的传统。 我们在这里继续传统,这也是一种向前辈们致敬的方式之一吧! 最早的程序基本是这个样子的: #include intmain() printf("Helloworld.\nH);return0; } 请模仿上面的程序,看看是否可以通过编译? 如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。 略 第二周作业 【练习2】学学scant和printf的用法吧 成绩 0 开启时间 2014年10月21日星期二08: 00 折扣 0.8 折扣时间 2014年12月7日星期日23: 55 允许迟交 否 关闭时间 2014年12月7日星期日23: 55 该如何处理double型的数据: 如何定义变量类型? 如何使用 scanf函数? 如果已知圆柱的底面半径r,以及高h,则可计算出圆柱的侧面积s=2兀I*h,体积vo其中兀=3.1415926。 输入: 第一行输入圆柱的底面半径r 第二行输入圆柱的高h 输出: s=<圆柱的侧面积>,v=<圆柱的体积> 要求 1.所有变量都定义为双精度类型 2.结果精确到小数点后两位。 作为练习题目: 我们已经给您编写好了大部分的代码,请您自己修改几个地方,完成程序的剩余部分。 **************************************************%******* #include<stdio.h> #definePAI3.1415926 intmain() { intr,h; doubles,v; scanf("%d%d",); s=2*PAI*r*h; v=PAI*r*r*h; printf("s=%.2f,v=\nn,s,); return0; } ************哽*******欣****哽*******欣**伙*哽*******p^^^***先******** Code: #include #definePAI3.1415926 intmain() { intr,h; doubles,v; scanf("%d%d",&r,&h); s=2*PAI*r*h; v=PAI*r*r*h; printf("s=%.2f,v=%.2f\nM,s,v); return0; } 第三周作业 1、输出字符的ASCII码 成绩 10 开启时间 2014年10月21日星期二10: 00 折扣 0.8 折扣时间 2014年11月5日星期三23: 55 允许迟交 否 关闭时间 2014年11月12日星期三23: 55 背景: 我们在计算机基础中已经学过: 字母在计算机中采用ASCII码进行存储。 下面要从键盘上输入任意一个字符,然后输出该字符对应的ASCII码。 输入: 一个字符 输出: 该字符对应的ASCII码 测期待的输时间限制②内额 试出®存外 输限进 入制程 ©©© 以文本方 以文本方式显示1640 式显示 秒M 1.TheASCIIofcharacterAi I. s65.Q 测 试 输 入 期待的输 出® 时间限制② 内存限制 © 额 外 进 程 © 1 测试用例 2 以文本方 式显示 1.Z 以文本方式显示 1.TheASCIIofcharacterZ*i s90.Q 1 秒 64 M 测试用例 3 以文本方 式显示 1.0 以文本方式显示 i.TheASCIIofcharacter'O'i s48.Q 1 秒 64 M 测 以文本方 以文本方式显示 1 64 0 測 试 输 入 © 期待的输 出® 时间限制② 内存限制 © 额 外 进 程 © 试 式显示 1.TheASCIIofcharacter'1'i 秒 M 用 1.1 s49.Q 例 d 4 测 1 64 0 以文本方 试 式显示 以文本方式显示 秒 M 用 1.TheASCIIofcharacteri 例 1・+ s43』 5 Code: #include intmain() charch; scanf(”%c”,&ch); printf(HTheASCIIofcharacter'%c*is%d.",ch,ch);return0; } 2、一年级的算术题 成绩 10 开启时间 2014年10月21日星期二10: 00 折扣 0.8 折扣时间 2014年11月5日星期三23: 55 允许迟交 否 关闭时间 2014年11月12日星期三23: 55 背景: 小明上小学一年级了,老师已经教会了他们进行整数的+、・、叫 I、%计算,下面老师开始出题,给出一个筒单的算术表达式,请小 明给出计算结果。 输入: 接受两个整数,每个整数之间使用空格分隔。 例如输入格 式为: 123444 输出: 分别输出按照整型数据进行+、-、*、/、*之后的运行结 果。 測试输入渺期待的输出① 测试用例 1 以文本方式显示 1.103创 以文本方式显示 1.10+3=130 2.10-3=74 3.10*3=30。 4.10/3=3Q 5.10%3=2 时内存额间限制外限进 制程 1秒64M0 用以文本方式显示 例 1.113 2 以文本方式显示 1.11+-3=8 2.11-3=14。 3.11*-3=-33^ 4.11/-3=3 5.11%-3=2 1秒64M0 Code #include intmain() { inta,b; charch=37; scanf(“%d%d”,&a,&b);printf(',%d+%d=%d\n",a,b,a+b);printf(H%d-%d=%d\n",a,b,a-b);printf(n%d*%d=%d\nH,a,b,a*b);printf(H%d/%d=%d\n",a,b,a/b);printf(',%d%c%d=%d\n'*,a,ch,b,a%b);return0; } 3、判断三角形的形状 成绩 10 开启时间 2014年10月21日星期二10: 00 折扣 0.8 折扣时间 2014年11月5日星期三23: 55 允许迟交 否 关闭时间 2014年11月12日星期三23: 55 要求 输入三角型的三条边,判断三角形的形状。 假设输入的三边边长 均>0。 输入: 三角型的3条边的长度(int型)。 输出: 等边三角形: equilateraltriangle 等腰三角形: isocelestriangle不构成三角形: non-triangle一般三角形: triangle 1.equilateraltriangle. 64 1・isocelestriangle.^ 測试输入® 期待的输出① 时间限制 内存 限制© 额 外进程 2 测试用例 3 以文本方式显示 1.131 以文本方式显不 non-triangle.Q 1 秒 64 M 0 测试用例 4 以文本方式显示 1.345 以文本方式显不 仁triangle』 1 秒 64 M 0 测试用例 以文本方式显示 1.232 以文本方式显不 1・isocelestriangle. 1 秒 64 M 0 測试输入② 期待的输出® 时间限制 ® 内存 限制© 额 外进程 ® 5 测 1 64 0 以文本方式显 示 试 秒 M 以文本方式显不 用 1.223 1・isocelestriangle. 例 A 6 测 1 64 0 以文本方式显 示 试 秒 M 以文本方式显不 用 1.311 i・non—triangle』 例 A 7 测 以文本方式显 1 64 0 试 示 以文本方式显不 秒 M 用 仁non—triangle』 例 1.113 測试输入® 期待的输出① 时间限制 内存 限制© 额 外进程 8 测试用例 9 以文本方式显示 1.543 以文本方式显不 triangle.^ 1 秒 64 M 0 测试用例 1 0 以文本方式显示 1.453 以文本方式显不 仁triangle』 1 秒 64 M 0 Code #include intmain() inta,b,c; scanf(,,%d%d%d,,,&aJ&b,&c); if(a+b>c&&a+c>b&&b+c>a) { if(a==b&&a==c&&b==c) { printf("equilateraltriangle.\n"); return0; } if(a==b||a==c||b==c) { printf("isocelestriangle.\n");return0; } printfCtriangleAn"); } else { printf("non-triangle.\n"); return0; } 第四周作业 1.【中学】计算时钟的夹角 成绩 10 开启时间2014年10月28日星期二08: 25 折扣 0.8折扣时间2014年11月12日星期三08: 25 允许迟交否 关闭时间2014年11月19日星期三08: 25 背景: 钟面上的时针和分针之间的夹角总是在0〜180之间(包括0和180)。 举例来说,在十二点的时候两针之间的夹角为0,而在六点的时候夹角为180,在三点的时候为90。 本题要解决的是计算12: 00到11: 59之间任意一个时间的夹角。 输入: 每组测试数据包含两个数字: 第一个数字代表小时(大于0小于等于12),第二个数字代表分(在区间[0,59]上)。 输出: 对应每组测试数据,用常用格式显示时间以及这个时候时针和分针间的最小夹角,精确到小数点后一位。 输出格式如下所示。 再看一看,想一想: 是否可以不用if语句,只使用printf函数来简化你的程序? 时内额 间存外 限限进制制程 ®®® 测1640 以文本方式显以文本方式显示 试秒M 示 用1.At12: 00theangleis0.0degree 例1.120划s.Q 测以文本方式显1640 以文本方式显示 试示秒M 用1.At12: 30theangleis165.0degr 1.1230 例ees.^J 2 测1640 以文本方式显以文本方式显示 试秒M 示 用1.At6: 00theangleis180.0degre 例1.6es.*J3 测以文本方式显以文本方式显示1640 测试输入① 期待的输出® 时内额 间存外 限限进制制程 ®®® 试示 用 1.30Q例 4 1.At3: 00theangleis90.0degree s.Q 秒M 测 试 用 例 5 以文本方式显 示 1.33^ 以文本方式显不 1・At3: 03theangleis73.5degree s.Q 164 秒M 0 测试用例 6 以文本方式显 示 1.39Q 以文本方式显7K 1・At3: 09theangleis40.5degree s.Q 164 秒M 0 测 试 以文本方式显 示 以文本方式显不 1.At4: 00theangleis120.0degre 164 秒M 0 用es・Q 1.40Q 例 7 测 以文本方式显以文本方式显示 试 示 用1-At5: 59theangleis174.5degre 例1.559Qes.-ei 8 测 以文本方式显以文本方式显示 试 示 用1.At4: 20theangleis10.0degree 例1.420划s.Q 9 测以文本方式显以文本方式显示 试示 1-At0: 00theangleis0.0degrees.用 1640 秒M 1640 秒M 1640 秒M 1.0O^JQ 测试输入® 期待的输出® 时内额 间存外 限限进制制程 ®®® 例 1 0 Code #include intmain() { inthour,minute,temp; floatangle,h_angle,m_angle; scanfC'%d%d",&houi*,&minute); temp=hour; iffhour==12)temp=0; h_angle=temp*30.0+minute*0.5; m_angle=minute*6.0; angle=h_angle>m_angle? h_angle-m_angle: m_angle -h_angle; iffangle>180.0)angle=360.0-angle; printff'At%d: %02dtheangleis%.Ifdegrees.\n",hour,minute,angle); return0; 2.【日期】确定母亲节 成绩 10 开启时间 2014年10月28日星期二10: 35 折扣 0.8 折扣时间 2014年11月12日星期三10: 35 允许迟交 否 关闭时间 2014年11月19日星期三10: 35 母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。 输入: 年份 输出: 日期(5月的哪一天) 测试输入① 期待的输出® 时间 内存限 额外 限制 制② 进程 © © 測试输入① 期待的输出② 时间 限制® 内存限 1W© 额外 进程 © 测试 用例 1秒 64M 0 以文本方式显示 以文本方式显 示 1 1.20140 1.12 测试 用例 1秒 64M 0 以文本方式显示 以文本方式显 示 2 1.2015Q 1.10 测试 1秒 64M 0 以文本方式显 用例 以文本方式显不 示 3 1.2012Q 1.13a Code: #include intmain() { intyear,n,week,total,day; scanf(n%dH,&year); if((year%4==0&&year%100! =0)||year%400==0) { week=(year+year/4+year/400-year/100-1)% for(n=0;n<5;n++) { if(n==0)total=0; if(n==1||n==3)total+=31; if(n==2)total+=29; if(n==4)total+=30; } } else { week=(year+year/4+year/400-year/100)%7; for(n=0;n<5;n++) if(n==0)total=0; if(n==1||n==3)total+=31; if(n==2)total+=28; if(n==4)total+=30; } } week=(week+total)%7; if(week==0)week=7; day=7-week+8; printfr%d\n”,day); return0; } 3.【日期】计算星期 成绩 10 开启时间 2014年10月28日星期二10: 40 折扣 0.8 折扣时间 2014年11月12日星期三10: 40 允许迟交 否 关闭时间 2014年11月19日星期三10: 40 给出任意一个年月日(年>1900),现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。 输入: 年月日 输出: 0〜6。 星期日用0表示,星期一用1表示,星期二用2表示……星 期六用6表示。 假设年份大于1900。 先想一想: 我们现在只会使用if语句,该如 何建立数学模型? 测试输入® 期待的输出® 时间限制 内 存 限 额外进程 测 1 64 0 试 以文本方式显示 以文本方式显示 秒 M 用 例 1.2013312 1.2 1 间 限制 © 存限制① 外 进 程 测 1 64 0 试 以文本方式显不 以文本方式显示 秒 M 用 1.20131315 1.monthiserror・ 例 2 测 1 64 0 试 以文本方式显7K 以文本方式显示 秒 M 用 例 1.2013332。 1.dayiserror.Q 测试输入® 期待的输出! > 时 内 额 Code: #include intmain()intyear,month,day,n,week,total;scanf(H%d%d%d',,&year,&month,&day);if(year<=1900)( printf(Hyeariserror<\n°); return0; } if(month>=13||month<1){ printfrmonthiserror.\nM); return0; } if(day<0){ printf(ndayiserror.\nu); return0; } switch(month){ case1: case3: case5: case7: case8: case10: case12: if(day>31) {printf(Hdayiserror.\nH);return0;} break; case4: case6: case9: case11: if(day>30) {printffMayiserror.\nH);return0;} break; case2: if((year%4==0&&year%100! =0)||year% 400==0) if(day>29){prmtf(ndayiserror.\nn);return0;} else if(day>28){printf(ndayiserror.\nn);return0;} } break; } if((year%4==0&&year%100! =0)||year%400==0) { week=(year+year/4+year/400-year/100-1)%7; for(n=0;n { if(n==0)total=0; if(n==1||n==3||n==5||n==7||n==8||n==10)total+=31; if(n==2)total+=29; if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 北京理工大学 MOOC 提交 作业