C语言程序设计北京理工大学MOOC提交作业Word下载.docx
《C语言程序设计北京理工大学MOOC提交作业Word下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计北京理工大学MOOC提交作业Word下载.docx(56页珍藏版)》请在冰豆网上搜索。
如果圆柱的底面半径r,以与高h,如此可计算出圆柱的侧面积s=2πrh,体积v=πr2h。
其中。
输入:
第一行输入圆柱的底面半径r
第二行输入圆柱的高h
输出:
s=<
圆柱的侧面积>
v=<
圆柱的体积>
要求
1.所有变量都定义为双精度类型
2.结果准确到小数点后两位。
作为练习题目:
我们已经给您编写好了大局部的代码,请您自己修改几个地方,完成程序的剩余局部。
**********************************************分隔线************
#include<
stdio.h>
intr,h;
doubles,v;
scanf("
%d%d"
);
s=2*PAI*r*h;
v=PAI*r*r*h;
s=%.2f,v=
\n"
s,
Code:
&
r,&
h);
s=%.2f,v=%.2f\n"
s,v);
第三周作业
1、输出字符的ASCII码
10
2014年10月21日星期二10:
2014年11月5日星期三23:
2014年11月12日星期三23:
背景:
我们在计算机根底中已经学过:
字母在计算机中采用ASCII码进展存储。
下面要从键盘上输入任意一个字符,然后输出该字符对应的ASCII码。
一个字符
该字符对应的ASCII码
测试输入
期待的输出
时间限制
内存限制
额外进程
测试用例1
以文本方式显示
1.A↵
1.The
ASCII
of
character
'
A'
is
65.↵
1秒
64M
测试用例2
1.Z↵
Z'
90.↵
测试用例3
1.0↵
0'
48.↵
测试用例4
1.1↵
1'
49.↵
测试用例5
1.+↵
+'
43.↵
charch;
%c"
ch);
TheASCIIofcharacter'
%c'
is%d."
ch,ch);
2、一年级的算术题
小明上小学一年级了,教师已经教会了他们进展整数的+、-、*、/、%计算,下面教师开始出题,给出一个简单的算术表达式,请小明给出计算结果。
承受两个整数,每个整数之间使用空格分隔。
例如输入格式为:
123
444
分别输出按照整型数据进展+、-、*、/、*之后的运行结果。
1.10
3↵
1.10+3=13↵
2.10-3=7↵
3.10*3=30↵
4.10/3=3↵
5.10%3=1↵
1.11
-3↵
1.11+-3=8↵
2.11--3=14↵
3.11*-3=-33↵
4.11/-3=-3↵
5.11%-3=2↵
Code
inta,b;
charch=37;
%d%d"
a,&
b);
%d+%d=%d\n"
a,b,a+b);
%d-%d=%d\n"
a,b,a-b);
%d*%d=%d\n"
a,b,a*b);
%d/%d=%d\n"
a,b,a/b);
%d%c%d=%d\n"
a,ch,b,a%b);
3、判断三角形的形状
输入三角型的三条边,判断三角形的形状。
假设输入的三边边长均>
0。
三角型的3条边的长度〔int型〕。
等边三角形:
equilateraltriangle
等腰三角形:
isocelestriangle
不构成三角形:
non-triangle
一般三角形:
triangle
1.2
2
2↵
1.equilateral
triangle.↵
1.3
1.isoceles
1.1
3
1↵
1.non-triangle.↵
4
5↵
1.triangle.↵
测试用例6
测试用例7
1
测试用例8
测试用例9
1.5
测试用例10
1.4
5
inta,b,c;
%d%d%d"
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)
isocelestriangle.\n"
printf("
triangle.\n"
}
else
non-triangle.\n"
第四周作业
1.【中学】计算时钟的夹角
2014年10月28日星期二08:
25
2014年11月12日星期三08:
2014年11月19日星期三08:
钟面上的时针和分针之间的夹角总是在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
0.0
degrees.↵
30↵
30
165.0
1.6
6:
180.0
3:
90.0
03
73.5
9↵
09
40.5
4:
120.0
59↵
5:
59
174.5
20↵
20
10.0
1.0
0:
oCode
inthour,minute,temp;
floatangle,h_angle,m_angle;
hour,&
minute);
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;
At%d:
%02dtheangleis%.1fdegrees.\n"
hour,minute,angle);
2.【日期】确定母亲节
2014年10月28日星期二10:
35
2014年11月12日星期三10:
2014年11月19日星期三10:
母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。
年份
日期〔5月的哪一天〕
1.2014↵
1.11↵
1.2015↵
1.10↵
1.2012↵
1.13↵
intyear,n,week,total,day;
%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;
week=(year+year/4+year/400-year/100)%7;
n<
if(n==2)total+=28;
week=(week+total)%7;
if(week==0)week=7;
day=7-week+8;
%d\n"
day);
3.【日期】计算星期
40
给出任意一个年月日〔年>
1900〕,现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。
年月日
0~6。
星期日用0表示,星期一用1表示,星期二用2表示......星期六用6表示。
假设年份大于1900。
先想一想:
我们现在只会使用if语句,该如何建立数学模型?
1.2013
11↵
13
15↵
1.month
error.↵
32↵
1.day
intyear,month,day,n,week,total;
year,&
month,&
day);
if(year<
=1900){
yeariserror.\n"
return0;
if(month>
=13||month<
1){
monthiserror.\n"
if(day<
0){
dayiserror.\n"
switch(month){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
if(day>
31)
{printf("
}
break;
case4:
case6:
case9:
case11:
30)
case2:
if((year%4==0&
if(day>
29){printf("
else
28){printf("
month;
if(n==1||n==3||n==5||n==7||n==8||n==10)total+=31;
if(n==4||n==6||n==9||n==11)total+=30;
week=(week+total+day-1)%7;
week);
4.【中学】求最后3位数值〔选做〕
45
小明在中学会求一个数的n次方了,但计算机还不会,请你来编写一个程序吧。
由于计算机比拟“笨〞,所以我们编写程序的功能不用太强,只要能算出a的n次方的最后3位数就可以了。
a和n的值。
假设a<
=150。
求a的n次方