C语言程序设计上mooc答案
更新时间:2023-12-17 09:52:01 阅读量: 教育文库 文档下载
第一周作业
【练习1】HelloWorld
成绩 折扣 0 开启时间 2014年10月21日 星期二 08:00 0.8 折扣时间 2014年12月7日 星期日 23:55 关闭时间 2014年12月7日 星期日 23:55 允许迟交 否 让我们学习用C语言向世界问好。 “Hello World”示例程序最早出现于1972年,由贝尔实验室成员Brian Kernighan撰写的内部技术文件《Introduction to the Language B》之中。不久同作者于1974年所撰写的《Programming in C: A Tutorial》,也延用这个示例。
一般来说,这是每一种计算机编程语言中最基本、最简单的程序,亦通常是初学者所编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境,以及运行环境是否已经安装妥当。将“Hello World”作为第一个示范程序,已经成为编程语言学习的传统。
我们在这里继续传统,这也是一种向前辈们致敬的方式之一吧! 最早的程序基本是这个样子的: #include
printf(\Hello world.\\n\); return 0; }
请模仿上面的程序,看看是否可以通过编译?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。 略
第二周作业
【练习2】学学scanf和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 π r h ,体积 v=π r 2 h 。其中 π=3.1415926。 输入:
第一行输入圆柱的底面半径 r 第二行输入圆柱的高 h
输出:
s=< 圆柱的侧面积 >,v=< 圆柱的体积 > 要求
1. 所有变量都定义为双精度类型 2. 结果精确到小数点后两位。 作为练习题目:
我们已经给您编写好了大部分的代码,请您自己修改几个地方,完成程序的剩余部分。 **********************************************分隔线************ #include
#define PAI 3.1415926 int main() {
int r,h; double s,v;
scanf(\ ); s=2*PAI*r*h; v=PAI*r*r*h;
printf(\ \\n\ ); return 0; }
**********************************************分隔线************
Code:
#include
#define PAI 3.1415926 int main() {
int r,h; double s,v;
scanf(\ s=2*PAI*r*h; v=PAI*r*r*h;
printf(\ return 0; }
第三周作业
1、输出字符的 ASCII 码
成绩 折扣 10 开启时间 2014年10月21日 星期二 10:00 0.8 折扣时间 2014年11月5日 星期三 23:55 关闭时间 2014年11月12日 星期三 23:55 允许迟交 否 背景: 我们在计算机基础中已经学过:字母在计算机中采用ASCII码进行存储。下面要从键盘上输入任意一个字符,然后输出该字符对应的ASCII码。 输入: 一个字符 输出:
该字符对应的ASCII码
测试输入 测试用例 1 1. A? 以文本方式显示 以文本方式显示 1. The ASCII of character 'A' is 65.? 期待的输出 时间限制 内存限制 1秒 64M 0 额外进程 测试用例 2 以文本方式显示 1. Z? 以文本方式显示 1. The ASCII of character 'Z' is 90.? 1秒 64M 0 测试用例 3 以文本方式显示 以文本方式显示 1. The ASCII of character '0' is 48.? 1秒 64M 0 测试输入 期待的输出 时间限制 内存限制 额外进程 1. 0? 测试用例 4 以文本方式显示 1. 1? 以文本方式显示 1. The ASCII of character '1' is 49.? 1秒 64M 0 测试用例 5 以文本方式显示 1. +? 以文本方式显示 1. The ASCII of character '+' is 43.? 1秒 64M 0 Code:
#include
char ch;
scanf(\
printf(\ return 0; }
2、一年级的算术题
成绩 折扣 10 开启时间 2014年10月21日 星期二 10:00 0.8 折扣时间 2014年11月5日 星期三 23:55 关闭时间 2014年11月12日 星期三 23:55 允许迟交 否 背景:
小明上小学一年级了,老师已经教会了他们进行整数的 +、-、*、/、% 计算,下面老师开始出题,给出一个简单的算术表达式,请小明给出计算结果。
输入:
接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:
分别输出按照整型数据进行 +、-、*、/、* 之后的运行结果。
测试输入 期待的输出 时间限制 测试用例 1 以文本方式显示 1. 10 3? 1. 2. 3. 4. 5. 10+3=13? 10-3=7? 10*3=30? 10/3=3? 10%3=1? 以文本方式显示 1秒 64M 内存限制 0 额外进程 测试用例 2 以文本方式显示 1. 11 -3? 以文本方式显示 1. 2. 3. 4. 5. 11+-3=8? 11--3=14? 11*-3=-33? 11/-3=-3? 11%-3=2? 1秒 64M 0 Code #include
int a, b;
char ch = 37;
scanf(\
printf(\ printf(\ printf(\ printf(\
printf(\ return 0;
}
3、判断三角形的形状
成绩 折扣 10 开启时间 2014年10月21日 星期二 10:00 0.8 折扣时间 2014年11月5日 星期三 23:55 关闭时间 2014年11月12日 星期三 23:55 允许迟交 否 要求
输入三角型的三条边,判断三角形的形状。假设输入的三边边长均>0。
输入:
三角型的3条边的长度(int型)。
输出:
等边三角形:equilateral triangle 等腰三角形:isoceles triangle 不构成三角形:non-triangle 一般三角形:triangle
测试输入
期待的输出
时间限制
测试用例 1
1.
2 2 2?
1.
equilateral triangle.?
以文本方式显示
以文本方式显示
1秒
内存限制64M
额外进程0
测试用例 2
以文本方式显示 1.
3 2 2?
以文本方式显示 1.
isoceles triangle.?
1秒 64M 0
测试用例 3
以文本方式显示 1.
1 3 1?
以文本方式显示 1.
non-triangle.?
1秒 64M 0
测试用例 4
以文本方式显示 以文本方式显示
1秒 64M 0
测试输入 期待的输出
时间限制
内存限制
额外进程
1. 3 4 5? 1. triangle.?
测试用例 5
以文本方式显示 1.
2 3 2?
以文本方式显示 1.
isoceles triangle.?
1秒 64M 0
测试用例 6
以文本方式显示 1.
2 2 3?
以文本方式显示 1.
isoceles triangle.?
1秒 64M 0
测试用例 7
以文本方式显示 1.
3 1 1?
以文本方式显示 1.
non-triangle.?
1秒 64M 0
测试用例 8
以文本方式显示 1.
1 1 3?
以文本方式显示 1.
non-triangle.?
1秒 64M 0
测试用例 9
以文本方式显示 1.
5 4 3?
以文本方式显示 1.
triangle.?
1秒 64M 0
测试用例 10
以文本方式显示 1.
4 5 3?
以文本方式显示 1.
triangle.?
1秒 64M 0
Code
#include
int a, b, c;
scanf(\ if(a + b > c && a + c > b && b + c >a) { if(a == b && a == c && b == c) {
printf(\ return 0; } if(a == b || a == c || b == c) { printf(\ return 0; } printf(\ } else { printf(\ }
return 0; }
第四周作业
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 函数来简化你的程序?
测试输入 期待的输出 时间限制内存限制额外进程测以文本方式显示 以文本方式显示 试用1. 12 0? 1. At 12:00 the angle is 0.0 degrees.? 例 1 测以文本方式显示 以文本方式显示 试用1. 12 30? 1. At 12:30 the angle is 165.0 degrees.? 例 2 测以文本方式显示 以文本方式显示 试用1. 6 0? 1. At 6:00 the angle is 180.0 degrees.? 例 3 测以文本方式显示 以文本方式显示 试用1. 3 0? 1. At 3:00 the angle is 90.0 degrees.? 例 4 测以文本方式显示 以文本方式显示 试用1. 3 3? 1. At 3:03 the angle is 73.5 degrees.? 例 5 测以文本方式显示 以文本方式显示 试用1. 3 9? 1. At 3:09 the angle is 40.5 degrees.? 例 164M 0 秒 164M 0 秒 164M 0 秒 164M 0 秒 164M 0 秒 164M 0 秒 测试输入 期待的输出 时间限制 内存限制 额外进程 6 测以文本方式显示 以文本方式显示 试用1. 4 0? 1. At 4:00 the angle is 120.0 degrees.? 例 7 测以文本方式显示 以文本方式显示 试用1. 5 59? 1. At 5:59 the angle is 174.5 degrees.? 例 8 测以文本方式显示 以文本方式显示 试用1. 4 20? 1. At 4:20 the angle is 10.0 degrees.? 例 9 测以文本方式显示 以文本方式显示 试用1. 0 0? 1. At 0:00 the angle is 0.0 degrees.? 例 10 Code
#include
int hour, minute, temp;
float angle, h_angle, m_angle; scanf(\ temp = hour;
if(hour == 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; if(angle > 180.0) angle = 360.0 - angle;
printf(\
164M 0 秒 164M 0 秒 164M 0 秒 164M 0 秒
return 0; }
2.【日期】确定母亲节
成绩 折扣 10 开启时间 2014年10月28日 星期二 10:35 0.8 折扣时间 2014年11月12日 星期三 10:35 关闭时间 2014年11月19日 星期三 10:35 允许迟交 否 母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。 输入: 年份 输出:
日期(5月的哪一天)
测试输入 期待的输出 时间限制 测试用例 1 1. 2014? 1. 11? 以文本方式显示 以文本方式显示 1秒 64M 内存限制 0 额外进程 测试用例 2 以文本方式显示 1. 2015? 以文本方式显示 1秒 1. 10? 64M 0 测试用例 3 以文本方式显示 1. 2012? 以文本方式显示 1秒 1. 13? 64M 0 Code: #include
int year, n, week, total, day;
scanf(\
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{ } else { }
week = (week + total) % 7; if (week == 0) week = 7; day = 7 - week + 8;
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 = (year + year / 4 + year / 400 - year / 100 - 1) % 7; 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;
printf(\ return 0; }
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 1. 2013 3 11? 1. 1? 以文本方式显示 以文本方式显示 1秒 64M 0 内存限制 额外进程 测试用例 2 以文本方式显示 1. 2013 13 15? 以文本方式显示 1. month is error.? 1秒 64M 0 测试用例 3 以文本方式显示 1. 2013 3 32? 以文本方式显示 1. day is error.? 1秒 64M 0 Code:
#include
int year, month, day, n, week, total; scanf(\ if(year <= 1900){
printf(\
}
return 0;
if(month >= 13 || month < 1){ }
if(day < 0){ }
switch (month){
case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(day > 31)
{printf(\ break; case 4: case 6: case 9: case 11: if(day > 30)
{printf(\ break;
case 2:if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
if(day > 29) {printf(\ }
printf(\return 0;
printf(\return 0;
else {
if(day > 28) {printf(\ } break;
}
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{ } else { }
week = (week + total + day - 1) % 7;
week = (year + year / 4 + year / 400 - year / 100) % 7; for(n = 0; n < month; 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 += 28;
if(n == 4 || n == 6 || n == 9 || n == 11) total += 30; week = (year + year / 4 + year / 400 - year / 100 - 1) % 7; for(n = 0;n < month; 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(n == 4 || n == 6 || n == 9 || n == 11) total += 30;
printf(\ return 0;
正在阅读:
C语言程序设计上mooc答案12-17
压道方案05-30
DB37T1317-2009《超细干粉灭火系统设计、施工及验收规范》10-06
案例-4G通过调整上行功控及调度参数提高干扰场景MOS值低研究总结04-18
全国高尔夫球场名单01-28
电气专业数字电子技术06-16
基于HTML5和CSS3的响应式网页制作 毕业论文03-16
国土资源知识试题A-B -12-09
2022年三年级上册数学教学计划3篇优质03-25
丽华甲第二期资格预审文件06-03
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 程序设计
- 答案
- 语言
- mooc
- Javascript常用107个语句
- 共青团改革中的曲靖市青年之家综合服务平台
- 招商银行信用卡丢失怎么办
- 简体汉字大全
- 食品安全检验技术复习题
- 河南省实验中学2016--2017学年上期期中试卷
- 九小场所消防安全大排查大整治方案 docx
- 党在我心中 演讲稿
- 2018年人教版二上音乐全册教案 - 图文
- 新田县交规模拟考试精选第4套试题
- 中国科学院上海生化与细胞所2002年招收硕士研究生入学考试
- 中国最全投稿邮箱目录
- 食品微生物期末、考研复习资料
- 龙游县计生指导站
- 食品安全与日常饮食视频选修答案(超星泛雅)
- 最新王姓宝宝起名方案
- 租用农田协议书(空白)4
- java字符串特性练习答案
- 年产1万吨合成氨—饱和热水塔的初步设计
- 少儿口才教学教学设计