c#基础学习(0701)之一些简单的方法练习

一个简单的求数组最大值的方法

//可变参数

int max=GetMaxNumbers(101,30)

static int GetMaxNumbers(params int[] pms)
{
  int max=pms[0];
  for(int i=1;i<pms.Length;i++)
  {
    if(pms[i]>max)
    {
      max=pms[i];
    }
  }
  return max;
}

一个简单的方法计算1-100的和

static int GetSum()
{
  int result=0;
  for(int i=1;i<=100; i++)
  {
    result=result+i;
  }
  return result;
}

计算1-100之间所有奇数的和

private static int GetOddSum()
{
  int sum=0;
  for(int i=1;i<=100;i++)
  {
    if(i%2!=0)
    {
      sum +=i;
    }
  }  return sum;
}

判断一个给定的整数是否为“质数”

private static bool IsZhiShu(int number)
{
  for(int i=2;i<number;i++)
  {
    if(number%i==0)
    {
      return false;
    }
  }
  return true;
}

计算1-100之间所有质数的和(运用到了上面的判断质数的函数)

private static int GetZhiShuSum()
{
  int sum=0;
  for(int i=2;i<=100;i++)
  {
    if(IsZhiShu(i))
    {
      sum+=i;
    }
  }
  return sum;
}

假设有一个字符串数组,用方法输出最长的字符串

private static string GetMaxName(string[] names)
{
  string maxName=names[0];
  for(int i=1;i<names.Length;i++)
  {
    if(names[i].Length>maxName.Length)
    {
      maxName=names[i];
    }
  }
  return maxName;
}

字符串数组的几种声明方式

int[] arr=new int[10];
int[] arr1=new int[]{10,20,30};
int[] arr2=new int[3]{10,20,30};
int[] arr3={11,22,33};

计算一个整型数组的平均值

int[] arrInt={1,3,5,7,90,20,51,53};
double avg=GetAvg(arrInt);
private static double GetAvg()
{
  double sum=0;
  for(int i=0; i<arrInt.Length;i++)
  {
    sum+=arrInt[i];
  }
  return Math.Round(sum/(double)arrInt.Length,2);//结果保留两位小数(四舍五入)
}

通过冒泡排序法对整数数组实现升序排序

int[] arrInt={1,3,5,7,90,2,4,6,8,10};
for(int i=0;i<arrInt.Length-1;i++)
{
  for(int j=arrInt.Length-1;j>i;j--)
  {
    if(arrInt[j]<arrInt[j-1])
    {
      //从后往前两两对比,小的放前面
      int tmp=arrInt[j];
      arrInt[j]=arrInt[j-1];
      arrInt[j-1]=tmp;
    }
  }
}
for(int m=0;n<arrInt.Length;n++)
{
  Console.WriteLine(arrInt[n]);
}
Console.ReadKey();

统计一个字符串中出现某个指定字符的次数

//IndexOf()方法报告指定字符串在此实例中的第一个匹配项的索引(如果查找的字符没有项匹配的值,则返回-1)
//LastIndexOf()方法报告指定只服从在此实例中的最后一个匹配项的索引
string msg="刚好是反对开挂的身份古典风格的风格第三个的规划的共和党和规范不放过那边的功能地方";
//0表示该索引从第几个字符位置开始
//msg.IndexOf("的",0)
//纪录"的"出现的次数
int count=0;
int index=0;
while((index=msg.IndexOf("的",index))!=-1)//while的条件就是查找时的返回的值不是-1
{
  count++;
  Console.WriteLine("第{0}次出现【的】的索引位置为:{1}",count,index);
  index=index+"的".Length;
}
Console.WriteLine("【的】总共出现了{0}次",count);
Console.ReadKey();
//统计每个字符出现的次数
Dictionary<char,int> dict=new Dictionary<char,int>();
for(int i=0;i<msg.Length;i++)
{
  if(!dict.ContainsKey(msg[i]))
  {
    dict.Add(msg[i],1);
  }
  else
  {
    dict[msg[i]]++;
  }
}
foreach(KeyValuePair<char,int> item in dict)
{
  Console.WriteLine("字符{0}出现了{1}次",item.Key,item.Value);
}

将字符串的两端空格去掉,并且将其中的所有其他空格都替换成一个空格

string msg="    hello    world ,  你   好时节    !  ";
//Trim()方法去掉两端空格
//用Split方法分割,StringSplitOptions.RemoveEmptyEntries去除空格
msg=msg.Trim();
string[] words=msg.Split(new char[] {‘ ‘},StringSplitOptions.RemoveEmptyEntries);
msg=string.Join(" ",words);
Console.WriteLine("===="+msg+"====");
Console.ReadKey();

原文地址:https://www.cnblogs.com/chao202426/p/9251773.html

时间: 2024-11-13 10:52:40

c#基础学习(0701)之一些简单的方法练习的相关文章

基础学习day08---多态、简单工厂、Object类equals和toString

一.多态 1.1.多态概念 定义:某一类事物的多种存在形态.        例:动物中猫,狗.    猫这个对象对应的类型是猫类型:猫 x = new 猫();    同时猫也是动物中的一种,也可以把猫称为动物:动物  y = new 猫();    动物是猫和狗具体事物中抽取出来的父类型.    父类型引用指向了子类对象. 体现:    父类或者接口的引用指向或者接收自己的子类对象. 作用:    多态的存在提高了程序的扩展性和后期可维护性.        前提:    1. 需要存在继承或者

R基础学习(三)-- 简单练习(shiny+mysql+barplot)

测试环境:win10+RStudio 提前准备: install.packages('shiny') install.packages('RMySQL') 数据表准备: 最终实现的界面效果如下:点击[Click Me]按钮,从数据库读出数据,并在界面画出条形图 正式开始! 在R项目(比如ShinyDemo)的目录下新建一个文件夹barplotDemo 然后在这个目录下新建两个文件,ui.R和server.R ui.R的代码实现如下 library(shiny) # Use a fluid Boo

laravel5.1框架基础之Blade模板继承简单使用方法分析

模板继承什么用? 自然是增强基础页面的复用,有利于页面文档的条理,也便于更改多处使用的内容,如页头.页脚 1.用法概要 @include('common.header') 包含子视图 @extends('article.common.base') 继承基础模板 @yield('content') 视图占位符 @section('content') @endsection继承模板后向视图占位符中填入内容 {{-- 注释 --}} Blade模板中注释的使用 2.具体使用 2.1 新建Article

JAVA基础学习笔记_四种排序方法

默认从小到大排序 ①快速法排序 第一轮:第一个数依次与后面的数比较,若第一个数较大,则两数互换位置,即最小的数被放在了第一位 for(i=0;i<a.length-1;i++) //控制比较轮次 for(j=i+1;j<a.length;j++) //总是与其后面的数依次比较 if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } ②选择法排序 第一轮:1-n数,求出最小数,然后与第一个数互换位置 for(i=0;i<a.length-1;i++)

Matlab基础学习-----------Matlab求解常微分方程边值问题的方法

算法代码 solinit =bvpinit(linspace(0,4,5),[1 0]); % linspace(0,4,5)为初始网格,[1,0]为初始估计值 sol=bvp4c(@twoode,@twobc,solinit); % twoode与twobc分别为微分方程与边界条件的函数,solinit为结构 x=linspace(0,4); %确定x范围 y=deval(sol,x); %确定y范围 plot(x,y(1,:)); %画出y-x的图形 %定义twoode函数(下述代码另存为工

学习C#中一些简单的方法使用

indexof('字符or字串')查找字串中指定字符或字串首次出现的地方,并返回起索引: Substring(int index ,int length) index:开始的长度初始从0: length:要截取的子字符串的长度: using System; namespace Sharp { class Program { public static void Main(string[] args) { string mystring="Hello World"; string sub

Node.js系列基础学习----安装,实现Hello World, REPL

Node.js基础学习 1:简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好 2:安装 à安装node.js 在官网安装自己win版本的node.js的版本,下载,安装完毕后在运行中输入node -v若是出现版本号就证明安装成功. à安装n

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

零基础学习 Hadoop 如何下手

想学习hadoop,可是苦于自己没有任何的基础,不知道该如何下手,也不知道自己能不能学会.其实零基础学习hadoop,没有想象的那么困难.曾经我也是一位小白,刚接触到云计算,想过培训,但是培训机构的选择也让我很纠结,就自己开始去摸索学习,现在我把自己的学习思路整理一下,希望对大家有帮助. 首先整体说一下学习过程给大家借鉴: 一.了解hadoop: 这里不具体阐述概念,有兴趣的同学可以自己上网去查.我们知道hadoop,有单机安装,伪分布安装和分布安装.同时hadoop的环境是Linux,所以我们