北京理工大学级C程序设计非信息类答案解析part文档格式.docx
- 文档编号:22272002
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:104
- 大小:58.63KB
北京理工大学级C程序设计非信息类答案解析part文档格式.docx
《北京理工大学级C程序设计非信息类答案解析part文档格式.docx》由会员分享,可在线阅读,更多相关《北京理工大学级C程序设计非信息类答案解析part文档格式.docx(104页珍藏版)》请在冰豆网上搜索。
2.int
main(){printf("
Hello
world.\n"
return
0;
}
2.【入门】输出你的第一个图形
2014年02月25日星期二14:
背景:
我们已经学习了printf函数的基本使用方法,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。
程序如下:
#include
int
main()
printf("
****\n"
要求:
按照上面的程序范例,编写一个小程序,要求输出的是4行由*号组成的等腰三角形。
无。
输出:
指定图形。
*↵
1.
***↵
2.
*****↵
3.*******↵
main()
3.{
*\n"
4.
***\n"
5.
*****\n"
6.
*******\n"
7.
3.【入门】求A+B
2014年02月3日星期一14:
我们已经学了如何使用scanf函数中输入整型数据(%d),下面让我们使用scanf函数来输入两个整数,然后求它们的和。
整数1
整数2输出:
整数1+整数2=和
1.10↵
2.20↵
1.10+20=30↵
测试用例2
1.-10↵
2.10↵
1.-10+10=0↵
测试用例3
1.300
200↵
1.300+200=500↵
a,b;
scanf("
%d"
&
a);
b);
4.printf("
%d+%d=%d\n"
a,b,a+b);
4.【入门】求整数的3次方
输入一个整数x,输出x的3次方。
想一想,在C语言中如何用公式来表达x的3次方?
一个整数。
该整数的3次方值。
1.3↵
1.27↵
1.-3↵
1.-27↵
main(){int
x;
x);
%d\n"
x*x*x);
5.【入门】输出字符的ASCII码
我们在计算机基础中已经学过:
字母在计算机中采用ASCII码进行存储。
下面要从键盘上输入任意一个字符,然后输出该字符对应的ASCII码。
一个字符输出:
该字符对应的ASCII码
说明:
如果编程有问题,请先看看教材P51的例题3-4,然后再办法发挥一下……
1.A↵
1.The
ASCII
of
character
'
A'
is
65.↵
1.Z↵
Z'
90.↵
1.0↵
0'
48.↵
测试用例4
1.1↵
1'
49.↵
测试用例5
1.+↵
+'
43.↵
无限制
main(){char
a;
%c"
3.
The
%c'
%d.\n"
a,a);
6.【入门】大小写字母转换
2014年03月17日星期一08:
2014年04月4日星期五23:
2014年04月6日星期日23:
我们知道,英文字母是分大小写的,下面我们需要编写一个简单的程序,将输入的全部小写字母变换为大写字母,大写字母变换为小写字母,非写字母保持不变。
一个字符输出:
变换后的字符
1.a↵
1.z↵
1.b↵
1.B↵
1.y↵
1.Y↵
1.#↵
3.{char
x,y;
4.if(x>
=65&
&
x<
=90)
y=x+32;
5.else
if(x>
=97&
=122)y=x-32;
6.else
y=x;
7.printf("
%c\n"
y);
7.【小学】一年级的算术题
小明上小学一年级了,老师已经教会了他们整数的+、-、*、/、%计算,下面老师开始出题,请小明给出计算结果。
两个整数,每个整数之间使用空格分隔。
例如输入格式为:
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↵
%d%d"
a,&
3.printf("
%d-%d=%d\n"
a,b,a-b);
5.printf("
%d*%d=%d\n"
a,b,a*b);
6.printf("
%d/%d=%d\n"
a,b,a/b);
%d%%%d=%d\n"
a,b,a%b);
8.【中学】判断三角形的形状
小明上了初中,开始学习如何求解一元二次方程。
输入三角型的三条边,判断三角形的形状。
假设输入的三边边长均>
0。
(提示:
本题中应该要用到if语句嵌套)
三角型的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.↵
1.#include<
a,b,c;
%d%d%d"
b,&
c);
3.if(a+b<
=c||a+c<
=b||b+c<
=a)
non-triangle.\n"
4.else
if(a==b&
b==c)
equilateral
triangle.\n"
b!
=c||a==c&
c!
=b||b==c&
=a)
isoceles
)
;
7.return
9.【中学】计算时钟的夹角
是
2014年04月11日星期五23:
钟面上的时针和分针之间的夹角总是在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
测试用例6
9↵
09
40.5
测试用例7
1.4
4:
120.0
测试用例8
1.5
59↵
5:
59
174.5
测试用例9
20↵
20
10.0
测试用例10
1.0
0:
2.#include<
math.h>
3.main(){int
float
z;
x,&
y);
z=fabs(30*x-(float)y*11/2);
z=z>
180?
360-z:
if(y<
10)
At
%d:
0%d
%.1f
degrees.\n"
x,y,z);
%d
10.【日期】根据日期求星期
任意给出一个年月日,求出是星期几。
输入:
年月日输出:
0~6。
星期日用0表示,星期一用1表示,星期二用2表示......星期六用6表示。
假设年份大于1900。
先想一想:
我们现在只会使用if语句,该如何建立数学模型?
找到数学模型是解决本题的关键。
看了部分先完成同学提交的程序,有人居然使用数组了,这个太不应该,因为我们根本就没有讲数组,让我怀疑使用数组的程序是抄的。
1.2013
11↵
15↵
1.5↵
17↵
3.{int
year,month,day,ty,m,y,c,d,weeks;
year,&
month,&
day);
4.ty=year;
m=month;
if(m<
3){m=12+m;
ty--;
5.y=ty%100;
c=ty/100;
d=day;
6.weeks=(y+y/4+c/4-2*c+26*(m+1)/10+d-1)%7;
weeks);
11.【中学】求解一元二次方程
初中的小明已经开始学习求解一元二次方程了,下面让我们来教计算机如何求解。
输入a,b,c,求一元二次方程ax²
+bx+c=0的根。
假设a,b,c均int。
要求输出的根为double型,保留6位小数。
如果不会作,请参考教材P108的例5-17
0
1.Input
error!
↵
10↵
10
1.x=0.000000↵
1.x1=x2=0.000000↵
1.x1=0.000000↵
2.x2=-2.000000↵
1.x1=1.414214i↵
2.x2=-1.414214i↵
1.x1=x2=-1.000000↵
-1↵
1.x1=0.414214↵
2.x2=-2.414214↵
测试用例11
1.x1=-0.500000+0.866025i↵
2.x2=-0.500000-0.866025i↵
2.#include
3.void
main(){double
a,b,c,d;
%lf%lf%lf"
4.d=b*b-4*a*c;
if(a==0&
b==0)
Input
\n"
if(a==0)
x=%lf\n"
c==0?
-c/b);
if(d==0)
x1=x2=%.6lf\n"
b==0?
-b/(2*a));
7.else
if(d>
0)
x1=%lf\nx2=%lf\n"
(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
8.else
if(b==0)
x1=%lfi\nx2=-%lfi\n"
sqrt(-d)/(2*a),sqrt(-d)/(2*a));
9.else
x1=%lf+%lfi\nx2=%lf-%lfi\n"
-b/(2*a),sqrt(-d)/(2*a),-b/(2*a),sqrt(-d)/(2*a));
12.【中学】找出最大素数
小明在中学学习了什么是素数。
素数是指一个只能被1和它本身整除的数,在数论中占有重要的研究地位,在当代密码学中也被广泛应用。
取值范围输出:
该范围内的最大素数
1.100↵
max
prime
number
97.↵
3.int
IsPrime(int
n)
{int
i;
for(i=2;
i<
=sqrt(n);
i++)
if(n%i==0)
return(0);
return
(1);
7.void
main()
8.{int
n;
n);
9.
for(;
n--)
if(IsPrime(n))
break;
10.printf("
n);
13.【小学】再做一年级算术题
小明上小学一年级了,老师已经教会了他们进行整数的+、-、*、/、%计算,下面老师开始出题,给出一个简单的算术表达式,请小明给出计算结果,请你用switch语句编写一个程序,帮小明算出结果。
操作数1op操作数2输出:
计算结果提示:
关键是在表达式输入过程中如何取出运算符?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京理工大学 程序设计 信息 答案 解析 part