-->
当前位置:首页 > 题库 > 正文内容

编程题:点线形系列3-三角形的计算

Luz3年前 (2022-03-30)题库1234
用户输入一组选项和数据,进行与三角形有关的计算。选项包括:
1:输入三个点坐标,判断是否是等腰三角形、等边三角形,判断结果输出true/false,两个结果之间以一个英文空格符分隔。
2:输入三个点坐标,输出周长、面积、重心坐标,三个参数之间以一个英文空格分隔,坐标之间以英文","分隔。
3:输入三个点坐标,输出是钝角、直角还是锐角三角形,依次输出三个判断结果(true/false),以一个英文空格分隔,
4:输入五个点坐标,输出前两个点所在的直线与三个点所构成的三角形相交的交点数量,如果交点有两个,则按面积大小依次输出三角形被直线分割成两部分的面积。若直线与三角形一条线重合,输出"The point is on the edge of the triangle"
5:输入四个点坐标,输出第一个是否在后三个点所构成的三角形的内部(输出in the triangle/outof triangle)。
必须使用射线法,原理:由第一个点往任一方向做一射线,射线与三角形的边的交点(不含点本身)数量如果为1,则在三角形内部。如果交点有两个或0个,则在三角形之外。若点在三角形的某条边上,输出"on the triangle"




### 输入格式:

基本格式:选项+":"+坐标x+","+坐标y+" "+坐标x+","+坐标y。点的x、y坐标之间以英文","分隔,点与点之间以一个英文空格分隔。


### 输出格式:

基本输出格式见每种选项的描述。
异常情况输出:
如果不符合基本格式,输出"Wrong Format"。
如果符合基本格式,但输入点的数量不符合要求,输出"wrong number of points"。
如果输入的三个点无法构成三角形,输出"data error"。
注意:输出的数据若小数点后超过6位,只保留小数点后6位,多余部分采用四舍五入规则进到最低位。小数点后若不足6位,按原始位数显示,不必补齐。例如:1/3的结果按格式输出为 0.333333,1.0按格式输出为1.0

选项4中所输入线的两个点坐标重合,输出"points coincide",


### 输入样例1:

选项4,定义线的两点重合。例如:
in
4:1,0 1,0 0,0 2,0 4,0


### 输出样例:

在这里给出相应的输出。例如:

out
points coincide

### 输入样例2:

选项4,构成三角形的三个点在一条线上,无法构成三角形。例如:

in
4:1,0 0,2 0,0 0,0 4,0


### 输出样例:

在这里给出相应的输出。例如:

out
data error


### 输入样例3:

选项1,判断等腰、等边三角形。例如:

in
1:-2,0 2,0 0,4


### 输出样例:

两个判断结果。例如:

out
true false


### 输入样例4:

选项2,输出边长、面积、重心坐标。例如:

in
2:0,0 3,0 0,1


### 输出样例:

在这里给出相应的输出。例如:

out
7.162278 1.5 1.0,0.333333



### 输入样例5:

选项3,钝角、直角、锐角的判断。例如:

in
3:0,1 1,0 2,0


### 输出样例:

在这里给出相应的输出。例如:

out
true false false



### 输入样例6:

选项4,直线与三角形交点的数量等于2,输出数量值以及三角形被分割的两部分面积。例如:

in
4:1,0 0,2 0,0 0,2 4,0


### 输出样例:

在这里给出相应的输出。例如:

out
2 1.0 3.0

### 输入样例7:

选项4,直线与三角形交点的数量少于两个,只输出数量值。例如:

in
4:-1,0 1,2 0,1 0,-1 2,0


### 输出样例:

在这里给出相应的输出。例如:

out
1


### 输入样例8:

选项5,用射线法判断点是否在三角形内部。例如:

in
5:0.5,0.5 0,0 0,2 4,0


### 输出样例:

在这里给出相应的输出,交点坐标之间以英文","分隔,判断结果与坐标之间以一个英文空格分隔。例如:

out
in the triangle


### 输入样例9:

选项5,用射线法判断点是否在三角形内部。例如:

in
5:0,0 -1,-1 2,3 3,4


### 输出样例:

在这里给出相应的输出。例如:

out
outof the triangle







答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。