第二章 C#语法基础 (2.2 C#语言的运算符和表达式)
【案例】本案例通过随机数发生器随机产生三条边,要求输出三天边长(边长长度为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#语言的运算符和表达式)的更多相关文章
- 第二章 C#语法基础(2.1 C#语言的数据类型一)
C#的数据类型 [案例]本案例实现3位评委给一位选手评分,通过键盘输入各位评委的打分,通过屏幕输出该选手的平均分. [案例目的] (1)掌握变量的定义方式; (2)掌握常用的数据类型; (3)掌握数据 ...
- 第二章 C#语法基础(2.1C#语言的数据类型二)
数据类型案例说明 一.数据类型与变量(计算整数10与20的和) namespace ConsoleApp1 { class Program { static void Main(string[] ar ...
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- 第二章 TCP/IP 基础知识
第二章 TCP/IP 基础知识 TCP/IP transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的. ...
- Spring学习指南-第二章-Spring框架基础(完)
第二章 Spring框架基础 面向接口编程的设计方法 在上一章中,我们看到了一个依赖于其他类的POJO类包含了对其依赖项的具体类的引用.例如,FixedDepositController 类包含 ...
- JAVA 入门第一章(语法基础)
本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...
- C#高级编程 (第六版) 学习 第二章:C#基础
第二章 基础 1,helloworld示例: helloworld.cs using System; using System.Collections.Generic; using System.Li ...
随机推荐
- ABP权限认证
通过AOP+特性实现 ABP默认的权限验证过滤器 AbpAuthorizationFilter 可以通过继承AsyncAuthorizationFilter 自定义自己的权限过滤器 权限数据存放表 ...
- Resnet-34框架
import torch import torch.nn as nn import torch.nn.functional as F class ResidualBlock(nn.Module): ' ...
- 想做AI测试,需要学习哪些数学知识?
摘自知乎的回答 作者:者也 以上是个人读研以来感受用得最多的数学基础课,挂一漏万,大侠请补充指正 高等数学是基础中的基础,研究生以上级别的一切理工科都需要这个打底,数据挖掘.人工智能.模式识别此类跟数 ...
- npm2 与 npm3的包版本管理
npm2采用严格的包依赖模式 npm install name@1.2.* ---- 1.2.0 <= version <= 1.2.9 npm install name@1.* ---- ...
- 7.9 GRASP原则九: 隔离变化
GRASP原则九: 隔离变化 Protected Variations 需求一定会变化的!如何做到以系统的局部变化为代价就可以应对这一点?4.1 GRASP rule9: Protected ...
- Android app图标总是显示默认的机器人图标,且在manifest文件的application中修改无效...
问题描述:我使用的开发工具是eclipse,Android app默认的图标是一个机器人,如下图所示 现在我要将app的图标修改成另外一个图标: 探索过程: 首先想到修改Manifest文件中的app ...
- EOS使用
公司要玩区块链,听说EOS交易快,就弄来玩玩.弄了一天终于编译成功了. Scanning dependencies of target nodeos [%] Building CXX object p ...
- linux软件管理 RPM命令
RPM命名规则 httpd -2.2.15-15.el6.centos.1.i686.rpm (包全名) httpd 软件包名 (包名) 2.2.15 软件版本 15 软件发布的次数 el6.cent ...
- PXE 实现自动装机
搭建 PXE 远程安装服务器 image_1cqg00g0os9b1pop122e98o19ef9b.png-255kB 1.把光盘源放在/var/ftp/centos6 因为远程装机对放服务器得读取 ...
- Xshell简单介绍
Xshell介绍 Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.Xshell 通过互联网到远程主机的安全 ...