C#语言规范(小例子)
2018-11-18 本文已影响0人
DouDouZH
一、交换两个数字的值
1、普通交换
using System;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
//这是一个代码块
#region 声明两个变量交换值
int n1 = 10, n2 = 20;
Console.WriteLine("交换前:");
Console.WriteLine("n1="+n1);
Console.WriteLine("n2="+n2);
int tmp = n1;
n1 = n2;
n2 = tmp;
Console.WriteLine("交换后:");
Console.WriteLine("n1="+n1);
Console.WriteLine("n2="+n2);
//防止调试一闪而过
Console.ReadKey();
#endregion
}
}
运行结果
2、用方法执行交换
方法传值必须加ref 不加只是交换原来值的副本,值本身不会交换
using System;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 用发放实现交换
int n1 = 10, n2 = 20;
Console.WriteLine("交换前:");
Console.WriteLine("n1="+n1);
Console.WriteLine("n2="+n2);
Swap(ref n1,ref n2);
Console.WriteLine("交换后:");
Console.WriteLine("n1="+n1);
Console.WriteLine("n2="+n2);
#endregion
}
private static void Swap(ref int n1,ref int n2)
{
int tmp = n1;
n1 = n2;
n2 = tmp;
}
}
}
运行结果
二、计算字符串的长度
using System;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 计算字符串的长度,字符的个数
while (true)
{
Console.WriteLine("请输入一个字符串:");
//输入字符串
string msg = Console.ReadLine();
Console.WriteLine("字符串的长度为:" + msg.Length);
}
#endregion
}
}
}
运行结果
三、计算最大值
1、计算两个数的最大值
using System;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 计算连个数的最大值
Console.WriteLine("请输入两个值:");
//输入值并转换成整数
int num1 = int.Parse(Console.ReadLine());
int num2 = int.Parse(Console.ReadLine());
int max = Max(num1, num2);
Console.WriteLine("最大值是"+max);
#endregion
}
//计算值
private static int Max(int n1,int n2)
{
//三目表达式返回最大值
return n1>n2?n1:n2;
}
}
}
运行结果
2、多个输的最大值
using System;
using System.Collections.Generic;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 计算连个数的最大值
Console.WriteLine("你要判断几个数的最大值:");
int count = int.Parse(Console.ReadLine());
Console.WriteLine("请输入值:");
//输入值并转换成整数
List<int> num =new List<int>();
for (int i = 0; i < count; i++)
{
num.Add(int.Parse(Console.ReadLine()));
}
int max = Max(num);
Console.WriteLine("最大值是"+max);
#endregion
}
//计算值最大值
private static int Max(List<int> pms)
{
int max = pms[0];
for (int i = 0; i < pms.Count; i++)
{
if (pms[i]>max)
{
max = pms[i];
}
}
return max;
}
}
}
运行结果
四、计算1--100之间的和
1、1-100之间所有和
using System;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 用方法实现计算1-100之间的和
Console.WriteLine(Sum());
#endregion
}
//计算和
static int Sum()
{
int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum += i;
}
return sum;
}
}
}
运行结果
2、1-100之间所有奇数和
using System;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 用方法实现计算1-100奇数的和
Console.WriteLine(OddSum());
#endregion
}
//计算奇数和和
static int OddSum()
{
int sum = 0;
for (int i = 1; i <= 100; i++)
{
if (i%2!=0)
{
sum += i;
}
}
return sum;
}
}
}
运行结果
五、找出最长字符串
数组的三种声明方式
int []arr=new int[10]
int []arr1=new int[] {1,2,3,4}
intt []err2={1,2,3,4}
using System;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 用方法实现找出最长的字符串
string[] name = {"张三", "李思思", "王宝强","雷吉米勒"};
string maxName = MaxName(name);
Console.WriteLine("最长的字符串:"+maxName);
#endregion
}
//计算奇数和和
static String MaxName(String [] name)
{
string maxName = name[0];
for (int i = 1; i < name.Length; i++)
{
if (maxName.Length<name[i].Length)
{
maxName = name[i];
}
}
return maxName;
}
}
}
运行结果
六、计算数组的平均值
计算有小数,显示小数点后两位(四舍五入)Math.Round()
using System;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 计算数组的平均值 计算有小数,显示小数点后两位(四舍五入)Math.Round()
int[] arr = {1, 2, 3, 4, 5, 6,1,11};
Console.WriteLine("平均数是:"+Avg(arr));
//Console.ReadKey();
#endregion
}
//计算数组平均数
public static double Avg(int[] arr)
{
int sum = 0;
for (int i = 0; i < arr.Length; i++)
{
sum += arr[i];
}
return Math.Round(sum/(double)arr.Length,2);
}
}
}
运行结果
七、冒泡排序给数组排序
using System;
using System.Runtime.InteropServices;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 冒泡排序降序排列
int[] arr = {1, 2, 3, 4, 5, 6,11};
int[] arr1 = maopao(arr);
for (int i = 0; i <arr.Length; i++)
{
Console.WriteLine(arr[i]);
}
//Console.ReadKey();
#endregion
}
//冒泡排序
public static int[] maopao(int[] arr)
{
int sum = 0;
for (int i = 0; i < arr.Length-1; i++)
{
for (int j = 0; j < arr.Length-1; j++)
{
if (arr[j+1]>arr[j])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
return arr;
}
}
}
运行结果
八、统计字符串出现的次数和索引位置
1、统计单个字符串出现的次数
using System;
using System.Runtime.InteropServices;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 统计“咳嗽“出现的次数和索引
string str = "我咳嗽了,咳嗽很严重,每天晚上都咳嗽好多次";
//IndexOf()搜索字符串换中字符的第一个出现的位置,找不到就显示-1
//第一个参数是字符串 第二个是从第几个索引开始
int count = 0;
int index = 0;
while ((index=str.IndexOf("咳嗽",index))!=-1)
{
count++;
Console.WriteLine("第一次出现“咳嗽”的馊味为:{0}",index);
index += "咳嗽".Length;
}
Console.WriteLine("“咳嗽“总共出现了{0}次",count);
//Console.ReadKey();
#endregion
}
}
}
运行结果
2、统计单个字符出现的次数
Dictionary<char,int>集合
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 统计“咳嗽“出现的次数和索引
string str = "我咳嗽了,咳嗽很严重,每天晚上都咳嗽好多次";
//集合
Dictionary<char,int> dict=new Dictionary<char, int>();
for (int i = 0; i < str.Length; i++)
{
//判断集合中是否有这个字符
if (!dict.ContainsKey(str[i]))
{
//没有就是加入
dict.Add(str[i],1);
}
else
{
//有就给个数加1
dict[str[i]]++;
}
}
//遍历集合
foreach (KeyValuePair<char,int> item in dict)
{
Console.WriteLine("字符“{0}”出现了{1}次",item.Key,item.Value);
}
//Console.ReadKey();
#endregion
}
}
}
运行结果
九、去掉字符串之间的空格
using System;
using System.Collections.Generic;
using System.Net.Configuration;
using System.Runtime.InteropServices;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 统计“咳嗽“出现的次数和索引
string str = " I love you ";
//去掉前面和后面的空格
string msg = str.Trim();
Console.WriteLine(msg);
//字符串分割
// 第二个参数去掉空实体 这样第一个参数必须是数组
string [] msg1=str.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries);
//在吧所有的用一个空格连接起来
String msg2=string.Join(" ",msg1);
Console.WriteLine(msg);
//Console.ReadKey();
#endregion
}
}
}
运行结果
十、学生信息小案例
using System;
using System.Collections.Generic;
using System.Linq;
namespace day01
{
internal class Program
{
public static void Main(string[] args)
{
#region 学生信息小案例
List<string> list =new List<string>();
string name;
int count = 0;
do
{
Console.WriteLine("请输入学生姓名:");
name = Console.ReadLine();
if (name.IndexOf('王')==0)
{
count++;
}
list.Add(name);
} while (name.ToLower()!="quit");
list.RemoveAt(list.Count-1);
Console.WriteLine("共输入学生个数:{0}",list.Count());
Console.WriteLine("分别是:");
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
Console.WriteLine("姓王的人数:{0}",count);
//Console.ReadKey();
#endregion
}
}
}
运行结果