C#基础篇十小练习
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace P03练习
{
class Program
{
static void Main(string[] args)
{
Test05();
} public static void Test01()
{
/*请编写1个方法,求一列数的规则如下: 1、1、2、3、5、8、13、21、34、55...... 求指定位数的值是多少.并返回这个数
* (前2位为1,后面每1位为前2位的和.)
*/
int res = Test01_1(6);
Console.WriteLine(res);
} public static int Test01_1(int plugNum)
{
//1.如果输入的位数是 <=2的,直接返回 1
if (plugNum <= 2) return 1; //2.如果大于2的话,则进行运算
int prev1 = 1;
int prev2 = 1;
int res = 0; for (int i = 1; i <= plugNum - 2; i++)
{
res = prev1 + prev2;
prev1 = prev2;
prev2 = res;
} return res;
} public static void Test02()
{
/* 2.写1个方法,接收圆的半径. 将圆的面积和周长返回. π取值3.14 圆的面积=π*半径的平方、圆的周长=π* 2*半径(10分) */
float[] arrResult = new float[2];//下标为0 代表 面积;下标为 1 代表 周长
Test02_01(5, arrResult);
Console.WriteLine("半径为{0}圆圈的 面积是{1},周长是{2}", 5, arrResult[0], arrResult[1]);
} /// <summary>
/// 计算 周长 和 面积
/// </summary>
/// <returns></returns>
public static void Test02_01(int half, float [] arr)
{
arr[0] = 3.14f * half * half;
arr[1] = 2 * 3.14f * half;
} public static void Test03_01()
{
/* 请编写1个程序,该程序从控制台接收用户的输入班级的人数,然后分别从控制台接收每1个人的成绩.只要有1个的成绩不合法(不在0-100的范围或者输入的不是整数),就提示用户重新输入该名学生的成绩.当所有的学生的成绩输入完毕之后,请打印出全班平均分,然后再求出去掉1个最高分和去掉1个最低分后的平均分,然后将成绩由高到低的顺序打印出来.(25分)
*/
Console.WriteLine("接收学员的个数:");
int max = 0;//最高分
int min = 0;//最低分
int scoreTotal = 0;//总分数
int count = int.Parse(Console.ReadLine());//总人数
int[] arrScore = new int[count];//分数数组 for (int i = 0; i < count; i++)
{
int score = Test03_01_01("请输入第" + (i + 1) + "学员的分数:");
arrScore[i] = score;
if (i == 0)
{
max = score;
min = score;
}
scoreTotal += score;//加入总分数
if (max < score) max = score;//判断是否为本次循环之内的最高分
if (min > score) min = score;//判断是否为本次循环之内的最低分
} float avg0 = (scoreTotal - max - min) * 1.0f / (count - 2); //1.0 排序
List<int> list = arrScore.ToList();
list.Sort(); Console.WriteLine("总人数为{0},全班平均分为{1},去掉最高分后最低分后的平均分为{2}",
count,
scoreTotal * 1.0f / count,
avg0); Console.WriteLine("由低到高显示分数:");
foreach (int i in list)
{
Console.WriteLine(i);
}
}
//提示用户输入一个 整型的数值,并且 必须在1-100之间
public static int Test03_01_01(string strMsg)
{
int res = -1;
while (true)
{
Console.WriteLine(strMsg);
string str = Console.ReadLine();
if (int.TryParse(str, out res))//将用户输入的字符串转成 数值
{
if (res >= 0 && res <= 100)//判断数值知否为 0-100之间的数
{
break;
}
else
{
Console.WriteLine("必须是0-100之间的数值!");
}
}
else
{
Console.WriteLine("必须输入数值~~!");
}
}
return res;
} public static void Test04()
{
/* 编一个程序,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录并退出程序 */
string okName = "";
string okPwd = "";
int i = 0;
while (true)
{
Console.WriteLine("请输入您的用户名:");
okName = Console.ReadLine();
Console.WriteLine("请输入您的密码:");
okPwd = Console.ReadLine();
if (okName == "james" && okPwd == "123")
{
Console.WriteLine("用户登录成功了~~~!");
break;
}
else
{
Console.WriteLine("用户名或密码输入错误~~!");
i++;
if (i >= 3)
{
Console.WriteLine("对不起,您的输入次数超过3次程序退出~~");
Console.ReadLine();
break;
}
}
}
} public static void Test05()
{
/*
* 有1个整型的数组,假设每1个元素的值都是1个正整数(意思就是每1个元素的值都是大于0的.)
* 请编写1个方法,该方法将数组中重复的元素去掉,并返回1个没有重复数据的数组.
* 比如:有数组A={1,2,3,3,4,4,5,6,6},方法返回1个新数组B={1,2,3,4,5,6}
*/ int[] arr = { 1, 2, 100, 99, 99, 88, 77, 3, 3, 4, 4, 5, 6, 6, 99 };
int[] arrNew = GetANewArr(arr);
} public static int[] GetANewArr(int[] arr)
{
int[] arrTemp = new int[arr.Length];
int indexNum = 0;//记录不重复数值的数量 //1.循环 找出 不重复的 数值,存入临时数组中
for (int i = 0; i < arr.Length; i++)
{
int num = arr[i];//取出 一个 源数组里的 数值
bool isExist = false;//记录本轮数字 是否在 临时数组中存在 for (int j = 0; j < arrTemp.Length; j++)//用 源数组里的 数值,去 临时数组中比较,如果没有一样的,则标记一下
{
if (arrTemp[j] == num)
{
isExist = true;
}
}
if (!isExist)//如果 原数组数值 在 临时数组中不存在,则 保存到 临时数组中
{
arrTemp[indexNum] = arr[i];
indexNum++;//自增 不重复数值的 个数
}
}
//2.按照找出的不重复数值的个数,创建新数组
int [] arrNew = new int[indexNum];
//2.1将 不重复的数值 从 临时数组中 复制到 新数组中
for (int i = 0; i < indexNum; i++)
{
arrNew[i] = arrTemp[i];
}
//2.2返回新数组
return arrNew;
} }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace P04练习
{
class Program
{
static void Main(string[] args)
{ Console.ReadLine();
} public static void No1()
{
/*
* 定义1个汽车类,有品牌 轮子数量 颜色 价格 型号 座位数量 字段,
* 有1个行驶的方法,
* 还有1个停止的方法
* 还有1个自己介绍自己的方法(显示自己的品牌 轮子 颜色 价格 型号 座位。。信息.);
* 创建对象并测试.
*/ QiChe qicheNo1 = new QiChe();
qicheNo1.XingShi();
qicheNo1.TingZhi();
} public static void No2()
{
Student stu = new Student();
stu.Name = "";
/*
* 定义1个学生类,有姓名、年龄、手机号码、学号四个属性,
要求学生的姓名不能为空串,并且长度不能小于2,否则使其默认值为”无名”,
年龄只能在0-100之间,否则默认值为18,
手机号码只能为11位的数字。否则就给默认值13444444444
学号要求为10个数字,否则赋值为默认值”0000000000”.
再定义1个方法介绍自己,将自己的姓名年龄手机号码打印出来。 然后再定义1个教师类,教师类也有姓名年龄手机号码三个属性要求和学生类一样,
但是教师类还有1个属性工资 要求值再1000-2000之间,否则默认值为1000,、
教师也有介绍自己自己的方法(显示自己的所有信息 姓名 年龄 性别 工资)
*/
}
}
}
汽车类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace P04练习
{
/// <summary>
/// 汽车
/// </summary>
public class QiChe
{
private string pinPai;
private int lunZiShuLiang;
private string yanSe; #region 1.0 行驶方法 +void XingShi()
/// <summary>
/// 行驶方法
/// </summary>
public void XingShi()
{
Console.WriteLine("汽车在行驶~~~");
}
#endregion #region 2.0 停止方法 刹车 +void TingZhi()
/// <summary>
/// 停止方法 刹车
/// </summary>
public void TingZhi()
{
Console.WriteLine("汽车在停住了~~~");
}
#endregion #region 3.0 介绍自己 void Show()
/// <summary>
/// 3.0 介绍自己
/// </summary>
public void Show()
{ }
#endregion
}
}
学生类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace P04练习
{
/// <summary>
/// 学员类
/// </summary>
public class Student
{
private int id;
private string name;
private int age;
private int cellphone; #region 1.0 姓名 +string Name
/// <summary>
/// 姓名
/// </summary>
public string Name
{
get { return name; }
set
{
if (string.IsNullOrEmpty(value) || value.Length < 2)
{
name = "无名";
}
else
{
name = value;
}
}
}
#endregion }
}
计算器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace P05计算器
{
public enum CulType
{
Jia = 1,
Jian = 2,
Chen = 3,
Chu = 4
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace P05计算器
{
/// <summary>
/// 计算器
/// </summary>
public class JiSuanQi
{
#region 1.0 计算 +void JiSuan()
/// <summary>
/// 1.0 计算
/// </summary>
public void JiSuan()
{
//1.要求用户输入 运算符号 +,-,*,/
Console.Write("请输入运算符(1+,2-,3*,4/):");
int curType = int.Parse(Console.ReadLine()); //2.接收 第一个数值
Console.WriteLine("请输入第一个数值:");
int numA = int.Parse(Console.ReadLine());
//3.接收 第二个数值
Console.WriteLine("请输入第二个数值:");
int numB = int.Parse(Console.ReadLine());
//运算结果
int res = -1; //4.根据操作符进行运算
CulType type = (CulType)curType;
#region 根据操作符进行运算
switch (type)
{
case CulType.Jia:
{
res = numA + numB;
break;
}
case CulType.Jian:
{
res = numA - numB;
break;
}
case CulType.Chen:
{
res = numA * numB;
break;
}
case CulType.Chu:
{
res = numA / numB;
break;
}
}
#endregion Console.WriteLine("{0} {1} {2}={3}", numA, GetOpeName(type), numB, res);
}
#endregion #region 1.1 根据枚举返回对应的 运算符号 -string GetOpeName(CulType type)
/// <summary>
/// 1.1 根据枚举返回对应的 运算符号
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
string GetOpeName(CulType type)
{
string name = "";
switch (type)
{
case CulType.Jia:
{
name = "+";
break;
}
case CulType.Jian:
{
name = "-";
break;
}
case CulType.Chen:
{
name = "*";
break;
}
case CulType.Chu:
{
name = "/";
break;
}
}
return name;
}
#endregion
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace P05计算器
{
class Program
{
static void Main(string[] args)
{
JiSuanQi jsq = new JiSuanQi();
jsq.JiSuan();
Console.ReadLine();
}
}
}
C#基础篇十小练习的更多相关文章
- Lua 学习之基础篇十<Lua 常见的语法规则>
下面讲一些lua 常见的用法和规则,可以为学习理解lua带来帮助,最后附上的部分是lua的基本操作,基本包含所有常用语法语句. 1. if判断 lua把 nil 和false 视为"假&qu ...
- WF4.0 基础篇 (十八) Flowchar
本节主要介绍WF4 中 Flowchart的使用 本文例子下载: http://files.cnblogs.com/foundation/FlowcharSample.rar 本文例子说明 Flowc ...
- 基础篇十:模块介绍(--with-help_random_index_module)
配置语法: 下面开始配置: cd /etc/nginx/conf.d/default.conf
- 【转】WF4.0 (基础篇)
转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter —— 兰竹菊梅★春夏秋冬☆ —— wxwinter@16 ...
- 《手把手教你》系列基础篇(七十六)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 下篇(详解教程)
1.简介 今天这一篇宏哥主要是结合实际工作中将遇到的测试场景和前边两篇学习的知识结合起来给大家讲解和分享一下,希望以后大家在以后遇到其他的测试场景也可以将自己的所学的知识应用到测试场景中. 2.测试场 ...
- 《手把手教你》系列基础篇(八十)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-番外篇(详解教程)
1.简介 经过前边几篇知识点的介绍,今天宏哥就在实际测试中应用一下前边所学的依赖测试.这一篇主要介绍在TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用de ...
- 《手把手教你》系列基础篇(八十六)-java+ selenium自动化测试-框架设计基础-Log4j实现日志输出(详解教程)
1.简介 自动化测试中如何输出日志文件.任何软件,都会涉及到日志输出.所以,在测试人员报bug,特别是崩溃的bug,一般都要提供软件产品的日志文件.开发通过看日志文件,知道这个崩溃产生的原因,至少知道 ...
- 2000条你应知的WPF小姿势 基础篇<15-21>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know ...
- Vue.js基础篇实战--一个ToDoList小应用
距离开始学Vue已经过去一个多月了,总想把学到的东西柔和在一起,做点东西出来,于是有了这个Todolist小应用. 使用vuex 纯粹基础,没有用到web pack,vuex,npm,下次把它改造一下 ...
随机推荐
- GDAL读写矢量文件——Python
在Python中使用OGR时,先要导入OGR库,如果需要对中文的支持,还需要导入GDAL库,具体代码如下.Python创建的shp结果如图1所示. 图1 Python创建矢量结果 #-*- codin ...
- Forward团队-爬虫豆瓣top250项目-成员简介与分工
马壮:擅长html,css,分工:分析网站源码 邢云淇:掌握python,java 分工:爬虫部分代码编写 张良:熟练掌握数据库 分工:数据库部分代码编写 年光宇:掌握c#,python 分工:代码整 ...
- speex编解码在android上实现
以前在应用中使用到了Speex编解码,近来总结了一下Speex在android上的实现.Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式.Speex工程着力于通过提供一个可以替代高性能 ...
- sublime text配置node.js调试
1. 首先到 nodejs.org 下载 Node.js 安装包并安装.2. 打开 Sublime Text 2 编辑器.选择菜单 Tools --> Build System --> n ...
- QT5.4.0安装以及与VS2010整合安装---64bit操作系统解决方案
QT5.4.0安装以及与VS2010整合安装---64bit操作系统解决方案 注意,目前QT官网不能下载,必须提供注册,然后才可以下载. 网上不同版本安装的细节有差异,特将我的安装相关操作贴出来,希望 ...
- [kuangbin]树链剖分A - Aragorn's Story
比较水的题了,比模板题还要简单一点 理解了这个结构,自己打出来的,但是小错误还是很多,越来越熟练吧希望 错误函数updata,updata_lca,query||错误地方区间往下递归的时候是left ...
- android:theme
附件:常用的系统提供的 android:theme 样式一览表 01 android:theme="@android:style/Theme.Dialog" 将一个Activity ...
- 从头文件中学习sfr和sbit
1.reg52.h 头文件,它定义了单片机的一些端口物理地址. #ifndef __REG52_H__ #define __REG52_H__ /* BYTE Registers */ sfr P0 ...
- Chubby是什么?
先简单的理解,以后补充: 为了解决hadoop分布式系统的一致性问题 ,有很多人提出很多protocol,其中就有有名的Paxos算法(Latex作者提出,算法需要学习), 但是Chubby并不是一个 ...
- 轻量级Config文件AppSettings节点编辑帮助类
using System.Configuration; using System.Windows.Forms; namespace Allyn.Common { public class XmlHep ...