判断输入的三个数据是否可以构成一个三角形

该程序用于接收用户输入的三个数,判断这三个数是否能构成一个三角形。如果输入的数据不符合要求(如非整数、小于0或不满足三角形条件),程序会提示错误并要求重新输入。用户可以输入'Help'查看软件说明,输入'Exit'退出程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using System;
using System.IO;

namespace triangle
{
 /// <summary>
 /// 判断输入的三个数据是否可以构成一个三角形
 /// </summary>
 class triangle
 {
  [STAThread]
  static void Main(string[] args)
  {
   PrintHelp();
   ReceiveSide();
  }

  /// <summary>
  /// 打印软件说明
  /// </summary>
  public static void PrintHelp()
  {
   System.Console.WriteLine("欢迎使用本软件,本软件用于确认输入的三边数据,是否可以组成一个正确的三角形.");
   System.Console.WriteLine("作者: Eli");
   System.Console.WriteLine("说明: 1.输入3个数据,用空格符分隔,按回车键出现结果.");
   System.Console.WriteLine("      2.输入Help,打印本软件说明.");
   System.Console.WriteLine("      3.输入Exit,按回车键,退出程序.");
   System.Console.WriteLine("");
  }

  /// <summary>
  /// 获取可以组成三角形的三个正确的数据
  /// </summary>
  /// <returns></returns>
  public static void ReceiveSide()
  {
   System.Console.WriteLine("请在下面输入3个数据,用一个空格格开,并按下回车键,就可以产生结果.");

   //读取用户输入的数据
   string strTemp = System.Console.ReadLine().Trim();

   //检测输入,如果是Exit命令,则退出程序.
   if (strTemp.ToUpper().Trim() == "EXIT")
    return;

   //检测输入,如果是Help命令,则打印帮助.
   if (strTemp.ToUpper().Trim() == "HELP")
   {
    PrintHelp();
    ReceiveSide();
    return;
   }

   //定义一个对象数组保存用户输入的参数
   object[] obj = strTemp.Split(" ".ToCharArray());

   //检查是否正好输入3个参数
   if (obj.Length != 3)
   {
    System.Console.WriteLine("少于或者超过3个数据,请重新输入!");
    ReceiveSide();
    return;
   }

   //定义一个int数组保存用户输入的参数
   int[] sides = new int[3];
   try
   {
    sides[0] = int.Parse(obj[0].ToString().Trim());
    sides[1] = int.Parse(obj[1].ToString().Trim());
    sides[2] = int.Parse(obj[2].ToString().Trim());
   }
   catch
   {
    System.Console.WriteLine("输入的数据不是合法的数据,请重新输入!");
    ReceiveSide();
    return;
   }

   //检查用户输入的数据是否大于0
   for (int i=0; i<3; i++)
   {
    if (sides[i] < 0)
    {
     System.Console.WriteLine("输入的数据必须大于0,请重新输入!");
     ReceiveSide();
     return;
    }
   }

   //检查是否可以组成三角形,并打印出检测结果
   int sidesSum = sides[0] + sides[1] + sides[2];
   for (int i=0; i<3; i++)
   {
    int sidesTemp = sidesSum - sides[i];
    if (sides[i] > sidesTemp)
    {
     System.Console.WriteLine("边长{0}大于其它两个边长的和,不能组成三角形!",sides[i].ToString());
     ReceiveSide();
     return;
    }
   }
   System.Console.WriteLine("边长分别为: {0}, {1}, {2} 的三条边,可以组成一个三角形!",sides[0].ToString(),sides[1].ToString(),sides[2].ToString());
   ReceiveSide();
  }

 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值