编程介的小学生 2019-10-03 19:55 采纳率: 20.5%
浏览 86

Horse Shoe Scoring C语言

Description

The game of horseshoes is played by tossing horseshoes at a post that is driven into the ground. Four tosses generally make up a game. The scoring of a toss depends on where the horseshoe lands with respect to the post. If the center of the post is within the region bounded by the interior of the horseshoe and the imaginary line connecting the two legs of the horseshoe, and the post is not touching the horseshoe, it is a "ringer" and worth five points. If any part of the horseshoe is touching the post, it is a "toucher" and worth 2 points. If the toss is neither a ringer nor a toucher and some part of the horseshoe will touch the post when it is pivoted around its point B, it is a "swinger" and worth 1 point. Any horseshoe which does not fit any of the scoring definitions scores zero points. See the figures below for examples of each of the scoring possibilities.

This program uses mathematical horseshoes that are semicircles with radius 10 centimeters. The location of the horseshoe is the given by two points: the centerpoint of the semicircle, measured in centimeters relative to x and y axes, and the point that exactly bisects the semicircle. The post is at location (0,0) and is 2 centimeters in diameter. The top of the post is level with the ground allowing the horseshoe to lay on top of the post; therefore, a "toucher" would mean that any part of the horseshoe lies within the circle with a radius of 1 centimeter centered at (0, 0).
Each "turn" consists of four tosses. The purpose of your program is to determine the score of the "turn" by computing the sum of the point values for each of the four tosses.
Input

Input to your program is a series of turns, and a turn consists of four horseshoe positions. Each line of input consists of two coordinate pairs representing the position of a toss. Each coordinate consists of a floating point (X,Y) coordinate pair (-100.0 <= X, Y <= 100.0) with up to 3 digits of precision following the decimal point; the first and second numbers are the X and Y coordinates of the centerpoint of the horseshoe semicircle (Point A) and the third and fourth numbers are the X and Y coordinates of the point (B) which bisects the horseshoe semicircle. You can be assured that the distance between points A and B for each horseshoe will be exactly 10 centimeters. The figure below illustrates the meanings of the values on each line.

The first four lines of input define the horseshoe positions for the first turn; lines 5 through 8 define the second turn, etc. There are at most 999 turns in the input file, and every turn contains four horseshoe positions. Your program should continue reading input to the end of file.
Output

The first line of output for your program should be the string "Turn Score" in columns 1 through 10. For each "turn", your program should print the number of the turn right-justified in columns 1-3 (turns are numbered starting with 1), a single space (ASCII character 32 decimal) in columns 4 and 5, and the score for the turn right-justified in columns 6 and 7 with a single leading blank for scores 0 to 9. Numbers that are right-justified should be preceded by blanks, not zeroes, as the fill character.
Sample Input

76.5 53.3 76.5 43.3
-5.1 1.0 4.9 1.0
5.1 0.7 5.1 -9.3
7.3 14.61 7.3 4.61
23.1 17.311 23.1 27.311
-23.1 17.311 -23.1 27.311
-23.1 -17.311 -23.11 -27.311
23.1 -17.311 23.1 -27.311
0.0 7.0 -6.0 -1.0
18.0 -24.0 9.0 -12.0
4.0 9.0 4.0 -1.0
-10.0 -13.0 -19.0 -25.0
Sample Output

Turn Score
1 10
2 0
3 7

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 c程序不知道为什么得不到结果
    • ¥40 复杂的限制性的商函数处理
    • ¥15 程序不包含适用于入口点的静态Main方法
    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置