【案例】本案例通过随机数发生器随机产生三条边,要求输出三天边长(边长长度为1~20的整数),并判断是否可以构成一个三角形。

如果可以,则计算出三角形面积,否则输出信息”三条随机的边不能构成三角形“。

【案例目的】(1)掌握运算符与表达式的使用。

(2)使用Math、Random系统中常用方法的使用。

【代码及分析】代码如下:

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Random random1 = new Random();
float a = random1.Next(, );
float b = random1.Next(, );
float c = random1.Next(, );
Console.WriteLine("第一条边长为" + a);
Console.WriteLine("第二条边长为" + b);
Console.WriteLine("第三条边长为" + c);
if ((a + b) > c && (a + c) > b && (b + c) > a)
{
float q = (a + b + c) / ;
Console.WriteLine("三角形面积为" + Math.Sqrt(q * (q - a) * (q - b) * (q - c)));
}
else
{
Console.WriteLine("三角形随机的边不能构成三角形");
}
Console.ReadLine();
}
}
}

运行结果:

分析:(1)本案例运用了关系表达式和算术表达式。

(2)用产生随机数的Reandom类实例化了一个对象,并调用该类的Next()方法随机产生了三条边。

Next():返回一个整数的随机数。

Next(int maxvalue):返回小于指定最大值的正随机数。

Next(int minvalue,int maxvalue):返回大于等于minvalue且小于minvalue的整数随机数。

NextDouble():返回一个0.0-1.0的double精度的浮点随机数。

(3)调用了Math.Sqrt()方法,实现开方运算。

Math类采用的方法:

Math.Abs(数据类型 x):返回x的返回值。

Math.pow(double x,double y):返回x的y次方。

Math.sqrt(double x):返回x的开根号次方。

第二章 C#语法基础 (2.2 C#语言的运算符和表达式)的更多相关文章

  1. 第二章 C#语法基础(2.1 C#语言的数据类型一)

    C#的数据类型 [案例]本案例实现3位评委给一位选手评分,通过键盘输入各位评委的打分,通过屏幕输出该选手的平均分. [案例目的] (1)掌握变量的定义方式; (2)掌握常用的数据类型; (3)掌握数据 ...

  2. 第二章 C#语法基础(2.1C#语言的数据类型二)

    数据类型案例说明 一.数据类型与变量(计算整数10与20的和) namespace ConsoleApp1 { class Program { static void Main(string[] ar ...

  3. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  4. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  5. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  6. 第二章 TCP/IP 基础知识

    第二章 TCP/IP 基础知识   TCP/IP  transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的.   ...

  7. Spring学习指南-第二章-Spring框架基础(完)

    第二章 Spring框架基础 面向接口编程的设计方法 ​ 在上一章中,我们看到了一个依赖于其他类的POJO类包含了对其依赖项的具体类的引用.例如,FixedDepositController 类包含 ...

  8. JAVA 入门第一章(语法基础)

    本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...

  9. C#高级编程 (第六版) 学习 第二章:C#基础

    第二章 基础 1,helloworld示例: helloworld.cs using System; using System.Collections.Generic; using System.Li ...

随机推荐

  1. Go 安装 sqlite3驱动报错

    问题:最近在使用Go做一个博客示例,在使用go get 安装 sqlIite3的驱动遇到下面的问题(cc1.exe: sorry, unimplemented: 64-bit mode not com ...

  2. hdu-4856 Tunnels 状压DP

    http://acm.hdu.edu.cn/showproblem.php?pid=4856 有若干管道,每个管道有且只能走一次,而地图可以随意走. 那么可以先处理每个管道间的最短路(不要考虑借助其他 ...

  3. 『PyTorch』第十五弹_torch.nn.Module的属性设置&查询

    一.背景知识 python中两个属相相关方法 result = obj.name 会调用builtin函数getattr(obj,'name')查找对应属性,如果没有name属性则调用obj.__ge ...

  4. canvas实现点连线动画

    给定一系列坐标(x, y)点, 实现将各个点按照先后顺序连接起来的动画.还有两个要求: 1.点与点之间直接用线段连接, 不用考虑曲线 2.动画支持暂停, 继续, 重头开始播放功能 这个功能该怎么实现呢 ...

  5. vue中操作cookie的插件

    js-cookie 安装: npm i js-cookie import Cookies from 'js-cookie' 具体用法: 写入: Cookies.set('name', 'value') ...

  6. eclipse添加js智能代码提示

    安装重启之后,在项目名上右键 结束

  7. Vue(二) 计算属性

    模板内的表达式常用于简单的运算,当过长或逻辑复杂时,难以维护,计算属性就是解决该问题的 什么是计算属性 表达式如果过长,或逻辑更为复杂,就会变得臃肿甚至难以维护,比如: <div> {{ ...

  8. day72 关于rbac组件的小部分面试题

    rbac的权限组件   基于角色的权限控制 1.什么是权限? url代表的就是一个权限 2.如何实现权限的控制? 表结构  以我们讲的课的内容为例 菜单表: - title 标题 - icon 图标 ...

  9. mysql数据库基础语句训练题

    ; -- ---------------------------- -- Table structure for course -- ---------------------------- DROP ...

  10. Forth 输入流处理

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...