C语言程序设计上mooc答案.docx

上传人:b****3 文档编号:5683685 上传时间:2023-05-09 格式:DOCX 页数:61 大小:38.69KB
下载 相关 举报
C语言程序设计上mooc答案.docx_第1页
第1页 / 共61页
C语言程序设计上mooc答案.docx_第2页
第2页 / 共61页
C语言程序设计上mooc答案.docx_第3页
第3页 / 共61页
C语言程序设计上mooc答案.docx_第4页
第4页 / 共61页
C语言程序设计上mooc答案.docx_第5页
第5页 / 共61页
C语言程序设计上mooc答案.docx_第6页
第6页 / 共61页
C语言程序设计上mooc答案.docx_第7页
第7页 / 共61页
C语言程序设计上mooc答案.docx_第8页
第8页 / 共61页
C语言程序设计上mooc答案.docx_第9页
第9页 / 共61页
C语言程序设计上mooc答案.docx_第10页
第10页 / 共61页
C语言程序设计上mooc答案.docx_第11页
第11页 / 共61页
C语言程序设计上mooc答案.docx_第12页
第12页 / 共61页
C语言程序设计上mooc答案.docx_第13页
第13页 / 共61页
C语言程序设计上mooc答案.docx_第14页
第14页 / 共61页
C语言程序设计上mooc答案.docx_第15页
第15页 / 共61页
C语言程序设计上mooc答案.docx_第16页
第16页 / 共61页
C语言程序设计上mooc答案.docx_第17页
第17页 / 共61页
C语言程序设计上mooc答案.docx_第18页
第18页 / 共61页
C语言程序设计上mooc答案.docx_第19页
第19页 / 共61页
C语言程序设计上mooc答案.docx_第20页
第20页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计上mooc答案.docx

《C语言程序设计上mooc答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计上mooc答案.docx(61页珍藏版)》请在冰点文库上搜索。

C语言程序设计上mooc答案.docx

C语言程序设计上mooc答案

第一周作业

【练习1】HelloWorld

成绩

0

开启时间

2014年10月21日星期二08:

00

折扣

折扣时间

2014年12月7日星期日23:

55

允许迟交

关闭时间

2014年12月7日星期日23:

55

让我们学习用C语言向世界问好。

“HelloWorld”示例程序最早出现于1972年,由贝尔实验室成员BrianKernighan撰写的内部技术文件《IntroductiontotheLanguageB》之中。

不久同作者于1974年所撰写的《ProgramminginC:

ATutorial》,也延用这个示例。

一般来说,这是每一种计算机编程语言中最基本、最简单的程序,亦通常是初学者所编写的第一个程序。

它还可以用来确定该语言的编译器、程序开发环境,以及运行环境是否已经安装妥当。

将“HelloWorld”作为第一个示范程序,已经成为编程语言学习的传统。

我们在这里继续传统,这也是一种向前辈们致敬的方式之一吧!

最早的程序基本是这个样子的:

#include<>

intmain()

{

   printf("Helloworld.\n");

   return0;

}

请模仿上面的程序,看看是否可以通过编译如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。

第二周作业

【练习2】学学scanf和printf的用法吧

成绩

0

开启时间

2014年10月21日星期二08:

00

折扣

折扣时间

2014年12月7日星期日23:

55

允许迟交

关闭时间

2014年12月7日星期日23:

55

该如何处理double型的数据:

如何定义变量类型如何使用scanf函数

如果已知圆柱的底面半径r,以及高h,则可计算出圆柱的侧面积s=2πrh,体积v=πr2h。

其中π=。

输入:

第一行输入圆柱的底面半径r

第二行输入圆柱的高h

输出:

s=<圆柱的侧面积>,v=<圆柱的体积>

要求

1.所有变量都定义为双精度类型

2.结果精确到小数点后两位。

作为练习题目:

我们已经给您编写好了大部分的代码,请您自己修改几个地方,完成程序的剩余部分。

**********************************************分隔线************

#include<>

#definePAI 

intmain()

{

   intr,h;

   doubles,v;

   scanf("%d%d",                 );

   s=2*PAI*r*h;

   v=PAI*r*r*h;

   printf("s=%.2f,v=       \n",s,  );

   return0;

}

**********************************************分隔线************

Code:

#include<>

#definePAI

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\n",s,v);

return0;

}

第三周作业

1、输出字符的ASCII码

成绩

10

开启时间

2014年10月21日星期二10:

00

折扣

折扣时间

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.0↵

以文本方式显示

1.The ASCII of character '0' is 48.↵

1秒

64M

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<>

intmain()

{

charch;

scanf("%c",&ch);

printf("TheASCIIofcharacter'%c'is%d.",ch,ch);

return0;

}

2、一年级的算术题

成绩

10

开启时间

2014年10月21日星期二10:

00

折扣

折扣时间

2014年11月5日星期三23:

55

允许迟交

关闭时间

2014年11月12日星期三23:

55

背景:

      小明上小学一年级了,老师已经教会了他们进行整数的+、-、*、/、%计算,下面老师开始出题,给出一个简单的算术表达式,请小明给出计算结果。

输入:

   接受两个整数,每个整数之间使用空格分隔。

例如输入格式为:

123 444

输出:

   分别输出按照整型数据进行+、-、*、/、*之后的运行结果。

 

测试输入

期待的输出

时间限制

内存限制

额外进程

测试用例1

以文本方式显示

1.10 3↵

以文本方式显示

1.10+3=13↵

2.10-3=7↵

3.10*3=30↵

4.10/3=3↵

5.10%3=1↵

1秒

64M

0

测试用例2

以文本方式显示

1.11 -3↵

以文本方式显示

1.11+-3=8↵

2.11--3=14↵

3.11*-3=-33↵

4.11/-3=-3↵

5.11%-3=2↵

1秒

64M

0

Code

#include<>

intmain()

{

inta,b;

charch=37;

scanf("%d%d",&a,&b);

printf("%d+%d=%d\n",a,b,a+b);

printf("%d-%d=%d\n",a,b,a-b);

printf("%d*%d=%d\n",a,b,a*b);

printf("%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

折扣

折扣时间

2014年11月5日星期三23:

55

允许迟交

关闭时间

2014年11月12日星期三23:

55

要求

输入三角型的三条边,判断三角形的形状。

假设输入的三边边长均>0。

输入:

三角型的3条边的长度(int型)。

输出:

等边三角形:

equilateraltriangle

等腰三角形:

isocelestriangle

不构成三角形:

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.3 4 5↵

以文本方式显示

1.triangle.↵

1秒

64M

0

测试用例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<>

intmain()

{

inta,b,c;

scanf("%d%d%d",&a,&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;

}

printf("triangle.\n");

}

else

{

printf("non-triangle.\n");

}

return0;

}

第四周作业

1.【中学】计算时钟的夹角

成绩

10

开启时间

2014年10月28日星期二08:

25

折扣

折扣时间

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

以文本方式显示

1.12 0↵

以文本方式显示

1.At 12:

00 the angle is  degrees.↵

1秒

64M

0

测试用例2

以文本方式显示

1.12 30↵

以文本方式显示

1.At 12:

30 the angle is  degrees.↵

1秒

64M

0

测试用例3

以文本方式显示

1.6 0↵

以文本方式显示

1.At 6:

00 the angle is  degrees.↵

1秒

64M

0

测试用例4

以文本方式显示

1.3 0↵

以文本方式显示

1.At 3:

00 the angle is  degrees.↵

1秒

64M

0

测试用例5

以文本方式显示

1.3 3↵

以文本方式显示

1.At 3:

03 the angle is  degrees.↵

1秒

64M

0

测试用例6

以文本方式显示

1.3 9↵

以文本方式显示

1.At 3:

09 the angle is  degrees.↵

1秒

64M

0

测试用例7

以文本方式显示

1.4 0↵

以文本方式显示

1.At 4:

00 the angle is  degrees.↵

1秒

64M

0

测试用例8

以文本方式显示

1.5 59↵

以文本方式显示

1.At 5:

59 the angle is  degrees.↵

1秒

64M

0

测试用例9

以文本方式显示

1.4 20↵

以文本方式显示

1.At 4:

20 the angle is  degrees.↵

1秒

64M

0

测试用例10

以文本方式显示

1.0 0↵

以文本方式显示

1.At 0:

00 the angle is  degrees.↵

1秒

64M

0

oCode

#include<>

intmain()

{

inthour,minute,temp;

floatangle,h_angle,m_angle;

scanf("%d%d",&hour,&minute);

temp=hour;

if(hour==12)temp=0;

h_angle=temp*+minute*;

m_angle=minute*;

angle=h_angle>m_angleh_angle-m_angle:

m_angle-h_angle;

if(angle>angle=-angle;

printf("At%d:

%02dtheangleis%.1fdegrees.\n",hour,minute,angle);

return0;

}

2.【日期】确定母亲节

成绩

10

开启时间

2014年10月28日星期二10:

35

折扣

折扣时间

2014年11月12日星期三10:

35

允许迟交

关闭时间

2014年11月19日星期三10:

35

母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。

输入:

   年份

输出:

   日期(5月的哪一天)

 

测试输入

期待的输出

时间限制

内存限制

额外进程

测试用例1

以文本方式显示

1.2014↵

以文本方式显示

1.11↵

1秒

64M

0

测试用例2

以文本方式显示

1.2015↵

以文本方式显示

1.10↵

1秒

64M

0

测试用例3

以文本方式显示

1.2012↵

以文本方式显示

1.13↵

1秒

64M

0

Code:

#include<>

intmain()

{

intyear,n,week,total,day;

scanf("%d",&year);

if((year%4==0&&year%100!

=0)||year%400==0)

{

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;

}

}

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;

printf("%d\n",day);

return0;

}

3.【日期】计算星期

成绩

10

开启时间

2014年10月28日星期二10:

40

折扣

折扣时间

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<>

intmain()

{

intyear,month,day,n,week,total;

scanf("%d%d%d",&year,&month,&day);

if(year<=1900){

printf("yeariserror.\n");

return0;

}

if(month>=13||month<1){

printf("monthiserror.\n");

return0;

}

if(day<0){

printf("dayiserror.\n");

return0;

}

switch(month){

case1:

case3:

case5:

case7:

case8:

case10:

case12:

if(day>31)

{printf("dayiserror.\n");return0;}

break;

case4:

case6:

case9:

case11:

if(day>30)

{printf("dayiserror.\n");return0;}

break;

case2:

if((year%4==0&&year%100!

=0)||year%400==0)

{

if(day>29){printf("dayiserror.\n");return0;}

}

else

{

if(day>28){printf("dayiserror.\n");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(n==4||n==6||n==9||n==11)total+=30;

}

}

else

{

week=(year+year/4+year/400-year/100)%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+=28;

if(n==4||n==6||n==9||n==11)total+=30;

}

}

week=(week+total+day-1)%7;

printf("%d\n",week);

return0;

}

4.【中学】求最后3位数值(选做)

成绩

0

开启时间

2014年10月28日星期二10:

45

折扣

折扣时间

2014年11月12日星期三10:

45

允许迟交

关闭时间

2014年11月19日星期三10:

45

小明在中学会求一个数的n次方了,但计算机还不会,请你来编写一个程序吧。

由于计算机比较“笨”,所以我们编写程序的功能不用太强,只要能算出a的n次方的最后3位数就可以了。

输入:

   a和n的值。

假设a<=150。

输出:

   求a的n次方

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2