C# 实例练习(第二天)
实例练习
1. 完成简单登录效果,设置用户登录账号密码,清空控制台,进入登录页面,请求用户输入账号、密码和验证码(随机产生),并判断用户输入的信息,给出相应的提示。
C#代码如下:
主要知识点:
(1)//清空控制台
Console.Clear();
(2)//设置随机数验证码
Random rand = new Random();
int num = rand.Next(1000,10000);
//账户设置界面
/*
Console.WriteLine("----------账户设置-----------");
Console.WriteLine("请设置账户:");
str1 = Console.ReadLine();
Console.WriteLine("请设置密码:");
str2 = Console.ReadLine();
//清空控制台
Console.Clear();
//用户登录界面
Console.WriteLine("------------登录-------------");
Console.WriteLine("请输入账户:");
str3 = Console.ReadLine();
Console.WriteLine("请输入密码:");
str4 = Console.ReadLine();
//设置随机数验证码
Random rand = new Random();
int num = rand.Next(1000,10000);
//输出验证码
Console.WriteLine("请输入验证码:"+num);
str5 = Console.ReadLine();
int num2=Convert.ToInt32(str5);
//进行判断
if(str1==str3&&str2==str4&&num==num2){
Console.WriteLine("您的信息输入完全正确,可以登陆!");
Console.WriteLine("请按任意键继续……");
}
else
{
Console.WriteLine("对不起,您输入的信息有误,请重新输入,谢谢!");
}
2. 用户输入三条边长,判断能否组成三角形,并判断可以组成什么样的三角形。
代码如下:
//进行输出:提示用户输入
Console.WriteLine("请输入第一条边:");
//用一个变量接受输入的值
str1 = Console.ReadLine();
Console.WriteLine("请输入第二条边:");
str2 = Console.ReadLine();
Console.WriteLine("请输入第三条边:");
str3 = Console.ReadLine();
//转换为整形
int side1, side2, side3;
side1 = Convert.ToInt32(str1);
side2 = Convert.ToInt32(str2);
side3 = Convert.ToInt32(str3);
//判断
if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1)
{
if (side1 == side2 || side1 == side3 || side2 == side3)
{
if (side1 == side2 && side1 == side3) //已经三边相等,无需另行判断
{
Console.WriteLine("可以组成一个等边三角形");
}
else
{
Console.WriteLine("可以组成一个等边三角形");
}
}
else
{
Console.WriteLine("可以组成一个普通三角形");
}
//Console.WriteLine("可以组成一个三角形");
}
else
{
Console.WriteLine("不可以组成一个三角形");
}
console.Redkey();
3. 提示用户输入两个数字,并计算这两个数字之间所有整数的和。
要求:
(1)用户只能输入数字
(2)计算两个数字之间和
(3)要求第一个数字必须比第二个数字小,否则就重新输入。
答案一:
//while (true)
//{
// Console.WriteLine("请输入第1个数字:");
// string str1 = Console.ReadLine();
// Console.WriteLine("请输入第2个数字:");
// string str2 = Console.ReadLine();
// int num11 = 0;
// int num22 = 0;
// try ----------------------C#异常捕捉机制
// {
// num11 = Convert.ToInt32(str1);
// num22 = Convert.ToInt32(str2);
// }
// catch (Exception)
// {
// Console.WriteLine("您输入的数据类型有误,请重新输入!");
// Console.ReadKey();
// return;
// }
// if (num11 > num22)
// {
// Console.WriteLine("您输入的数据大小有误,请重新输入!");
// Console.ReadKey();
// Console.Clear();
// continue;
// }
// int sum = 0;
// for (int i = num11; i <= num22; i++)
// {
// sum += i;
// }
// Console.WriteLine("{0}和{1}之间所有整数的和为:{2}", num11, num22, sum);
// Console.WriteLine("是否退出程序?(Y|N)");
// string flag = Console.ReadLine();
// if (flag == "Y")
// {
// break;
// }
// Console.ReadKey();
//}
答案二:
bool f = true;
while (f) {
#region 代码
Console.WriteLine("请输入第一个数字");
string num1 = Console.ReadLine();
Console.WriteLine("请输入第二个数字");
string num2 = Console.ReadLine(); int x = ;//接收 字符串转换成数字的值
int y = ; ///用户只能输入数字
try
{
x = Convert.ToInt32(num1);
y = Convert.ToInt32(num2);
}
catch (Exception)
{
Console.WriteLine("您输入的不是数字");
Console.ReadKey();
return;
} //求第一个数字必须比第二个数字小
if (x >= y)
{
Console.WriteLine(" 第一个数字比第二个数字大,请重新输入");
Console.ReadKey();
Console.Clear();//控制台 内容清空
continue;
} //计算两个数字之间和
int sum = ;
for (int i = x; i <= y; i++)
{
sum += i;
} Console.WriteLine("两个数之间的和为:{0}",sum); Console.WriteLine("是否退出程序?(Y|N)");
string flag = Console.ReadLine();
if (flag == "Y") {
break;
}
#endregion
4. 用方法来实现:请计算出一个整型数组的平均值。
//int[] array1 = new int[6];
//double summ = ArrayAvg(array1);//定义变量接收方法的返回值
//Console.WriteLine("平均值为:{0}", summ);
//Console.ReadKey();//调用方法
方法:
#region 第4题求平均值(方法) 快捷键:#region+table键
/// <summary>
/// 4.计算数组的平均值
/// </summary>
/// 无参有返回值
/// <param name="array"></param>
static double ArrayAvg(int[] array)
{
double sum = ;
for (int i = ; i < array.Length; i++)
{
array[i] = i;
sum += array[i];
} return sum;
}
#endregion
5. 写一个方法,用来判断用户输入的数字是不是质数 ,再写一个方法 要求用户只能输入数字,如果输入有误,就一直让用户输入数字。
//(1)
//Console.WriteLine("请输入一个数字:");
//string strr = Console.ReadLine();
//JudgmentPrime(strr);
//(2)判断是不是数字
//bool boo = true;
//while(boo){
// Console.WriteLine("请输入一个数字:");
// string str4 = Console.ReadLine();
// bool result = IsNumber(str4);
// if (result)
// {
// boo=false;
// break;
// }
// else{
// Console.WriteLine("您输的不是一个数字,请重新输入!");
// Console.ReadKey();
// Console.Clear();
// } //}
方法:
/// 5.1判断质数
/// </summary>
/// <param name="Prime"></param>
static void JudgmentPrime(string Prime)
{
int num1 = Convert.ToInt32(Prime), sum = , k = + num1;
for (int i = ; i <= num1; i++)
{
if (num1 % i == )
{
sum += i;
}
}
if (sum == k)
{
Console.WriteLine("您输入的是一个质数!");
}
else
{
Console.WriteLine("您输入的不是一个质数!");
}
}
#endregion
/// <summary>
/// 5.2判断输入值是不是数字
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
static bool IsNumber(string str)
{
bool f = true;
int x = ;
try
{
x = Convert.ToInt32(str);
}
catch (Exception)
{
f = false;
}
return f;
}
#endregion
6.写一个方法 计算圆的面积和周长 面积是 pI*R*R 周长是 2*Pi*r
//Console.WriteLine("请输入圆的半径:");
//string r = Console.ReadLine();
//CircleArea(r);
方法:
#region 7.计算圆的周长和面积
/// <summary>
/// 7.计算圆的周长和面积
/// </summary>
/// <param name="mianji"></param>
/// <param name="zhouChang"></param>
static void CircleArea(string banJing)
{
double num = Convert.ToDouble(banJing);
Console.WriteLine("圆的面积为:{0};\n周长为:{1}", Math.PI * num * num, * Math.PI * num);
}
#endregion
7. 请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序。
int[] array4 = { , , , , , , , , , };
//外循环:控制整体的排序次数
for (int i = ; i < array4.Length - ; i++)
{
//内循环:控制每次循环的次数
for (int j = i; j < array4.Length - ; j++)
{
if (array4[i] > array4[j + ])
{
int max = array4[i];
array4[i] = array4[j + ];
array4[j + ] = max;
}
}
}
//遍历数组
foreach (var item in array4)
{
Console.WriteLine(item);
}
Console.ReadKey();
8. 用方法来实现:请计算出一个整型数组的平均值:{ 1, 3, 5, 7, 93, 33, 4, 4, 6, 8, 10 }。要求:计算结果如果有小数,则显示小数点后两位(四舍五入)。
//int[] array5 = { 1, 3, 5, 57, 98, 33, 4, 4, 6, 8, 10 };
//Arrayavg(array5);
//Console.ReadKey();
方法:
/// <summary>
/// 9.求平均值
/// </summary>
/// <param name="arrayy"></param>
static void Arrayavg(int[] arrayy)
{
double sum = ;//转换为double类型,否则不会输出小数
for (int i = ; i < arrayy.Length; i++)
{
sum += arrayy[i];
}
double aa = sum / arrayy.Length;//同上
double kk = Math.Round(aa, );//同上
Console.WriteLine("平均值为:{0}", kk);
}
#endregion
本题知识点补充:
C#中:
- 整数除以整数,结果仍为整数;
- 整数除以小数,结果为小数;
- 小数除以整数,结果也为小数。
C# 实例练习(第二天)的更多相关文章
- Bash 实例,第二部分
我们先看一下处理命令行自变量的简单技巧,然后再看看 bash 基本编程结构. 接收自变量 在 介绍性文章 中的样本程序中,我们使用环境变量 "$1" 来引用第一个命令行自变量.类似 ...
- 整合Kafka+Flink 实例(第二部分 设计思路)
前 言 拖了蛮久了,一直说要接着上一部分写设计思路以及代码,因为自己技术底子薄弱,加上人又懒,所以一直没能继续,今天补上设计思路及部分代码,后面有时间我会再补充一些应用性的功能,的确有些忙,希 ...
- 【php增删改查实例】第二十六节 - 个人详情页制作
在一般的系统中,当用户点击头像的时候,就会跳转到对应的个人详情页,在这个页面,他可以查看和修改自己的个人信息,或者更换头像. 本案例中,个人详情页使用bootstrap框架. 首先,我们新建一个htm ...
- 【php增删改查实例】第二十四节 - 文件上传在项目中的具体应用
文件上传在项目中,一般有两个用武之地,分别为设置用户的头像和上传附件.本节我们演示如果进行用户头像的上传. 因为一个用户单独并且唯一对应了一个头像,是一对一的关系,所以我们需要去给tm_users表添 ...
- 【php增删改查实例】第二十五节 - 在main.php中显示头像
在用户成功上传头像以后,用户登录系统,应该能够看到自己的头像,本节演示如何在这个地方: 添加用户头像. 1.用DIV做: border-radius:50% background:url(xxx.jp ...
- 【php增删改查实例】第二十二节 - 引入百度地图
20.用户新增地址字段 在实际的开发中,经常会出现对数据表新增或者修改字段的事情,所以,当用户提出加字段的需求时,我们的页面以及后台程序都要进行相应的改动. 本节就以增加一个地址字段为例. 打开nav ...
- 【php增删改查实例】第二十三节 - PHP文件上传
22. PHP文件上传 22.1 资源文件 将这三个东西拷贝项目的根目录. 拷贝完毕后,打开upload.html: 现在,我们在项目的根目录去编写一个upload.php. PHP给我们提供了很多关 ...
- 【php增删改查实例】第二十节 - 把用户管理页面集成到main.php中
把这个代码: <a href="javascript:openTab('用户管理','user/userManage.html ','icon-roleManage')" c ...
- 【php增删改查实例】第二十一节 - 用户修改功能
19.1 添加用户修改的按钮 打开userManage.html,找到新增按钮的地方: 我们不难发现,编辑按钮就差不多应该在新建用户的右边. 那么,假如我现在是新人,对这个项目本身就不太熟悉,那么我得 ...
- 【php增删改查实例】 第二节 - MYSQL环境配置
安装好xampp后,会自带一个mysql,也就是说,正常情况下,你直接这样: 就可以启动mysql了. 如果你了,下面的步骤就别看了哈. if( 启动成功 ){ return; } 如果你的电脑上已经 ...
随机推荐
- java基础06 IO流
IO用于在设备间进行数据传输的操作. Java IO流类图结构: IO流分类 字节流: InputStream FileInputStream BufferedInputStream Output ...
- nodejs之url模块
鄙人初步学习nodejs,目前在读<nodejs入门>这一本书,书很小,但是让我知道了如何用nodejs创建一个简单的小项目.例如如何创建一个服务器啦,例如http.createServe ...
- if __name__ == '__main__' 如何正确理解
今天有个初学Python 的朋友问我这个问题,他说在网上好多回答他都不太理解.所以这里我来做说一下,希望能把这个问题说明白. 先举一个例子:假设我们有一个add.py文件,里面的代码是这样: def ...
- 新一代开源Android渠道包生成工具Walle
本文转自:http://tech.meituan.com/android-apk-v2-signature-scheme.html 新一代开源Android渠道包生成工具Walle 新的应用签名方案A ...
- ASP.NET MVC5 使用MiniProfiler 监控MVC性能
MiniProfiler ,一个简单而有效的迷你剖析器,可以有效的实时监控页面.通过直接引用.Ajax.Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并可以显示数据库访问的SQL. ...
- 【JAVASCRIPT】React学习-如何构建一个组件
摘要 react 学习包括几个部分: 文本渲染 JSX 语法 组件化思想 数据流 组件化思想 组件就是 UI + UI 交互逻辑,组件有三个常规map , 分别为state 状态 . props 数据 ...
- 【Apache】 VirtualHost配置
主要配置两点: 1)配置vhost ,可单独建文件,也可直接在http.conf添加内容 如果单独建文件,查看http.conf 中Include 配置文件的路径,并在对应路径新建http_vhost ...
- 全站 HTTPS 没你想象的那么简单
对自己无知这件事本身的无知真的挺可怕 认知偏差现象一直存在于我们每个人身上,谁也避免不掉,不过是有的人了解这件事儿,有的人不怎么知道而已,这就产生了「无知而不自知」的认知偏差.当然,这时候你自己忽悠自 ...
- css鼠标样式cursor
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- HDU 2202 最大三角形(凸包)
Problem Description 老师在计算几何这门课上给Eddy布置了一道题目,题目是这样的:给定二维的平面上n个不同的点,要求在这些点里寻找三个点,使他们构成的三角形拥有的面积最大.Eddy ...