文章目录
前言:
该博客将介绍一些数组的相关基础练习代码,以及函数方法基础代码。
相关资料:【01_C#入门到精通】新手强烈推荐:C#开发课程,一整套课程
数组
1.数组的遍历输出
static void Main(string[] args)
{
int[] nums = new int[10];
for(int i=0;i<nums.Length;i++)
{
nums[i] = i;
}
for(int i=0;i<nums.Length;i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
}
2.数组的最大值,最小值,总和与平均数
static void Main(string[] args)
{
int[] nums = {1,2,3,4,5,6,7,8,9,0};
int max = nums[0];
int min = nums[0];
int sum = 0;
//循环的让数组中的每个元素跟我的最大值,最小值进行比较
for(int i=0;i<nums.Length;i++)
{
//关于在循环中nums[i]的理解方式
//1.代表数组中当前循环到的元素
//2.代表数组中的每个元素
//如果数组中当前的循环到的这个元素,比我的max还要大,则把当前这个元素赋给我的max
if(nums[i]>max)
{
max = nums[i];
}
if(nums[i]<min)
{
min = nums[i];
}
sum += nums[i];
}
Console.WriteLine("这个数组的最大值是{0},最小值是{1},总和是{2},平均值是{3}", max, min, sum, sum / nums.Length);
Console.ReadKey();
}
3.数组与“+”号的练习
static void Main(string[] args)
{
string[] names = { "小马", "小苏", "小虎","小牛","小周" };
//小马|小苏|小虎|小牛|小周
//解题思路:通过一个循环,获得字符串数组中的每一个元素。
//然后,将这个每一个元素都累加到一个字符串中,以|分割
string str = null;
for(int i=0;i<names.Length-1;i++)
{
str += names[i] + "|";
}
Console.WriteLine(str+names[names.Length-1]);
Console.ReadKey();
}
4.数组改变元素值
static void Main(string[] args)
{
int[] nums = { 1, -2, 3, 4, 5, 0 };
//解题思路:通过一个循环,获得数组中的每一个元素
//对每一个元素进行判断
for(int i=0;i<nums.Length;i++)
{
if(nums[i]>0)
{
nums[i] += 1;
}
if(nums[i]<0)
{
nums[i] -= 1;
}
else
{
}
}
for(int i=0;i<nums.Length;i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
5.数组颠倒输出
static void Main(string[] args)
{
string[] names = { "我", "是", "好人" };
for (int i = 0; i < names.Length / 2; i++)
{
string temp = names[i];
names[i] = names[names.Length - 1 - i];
names[names.Length - i - 1] = temp;
}
for (int i = 0; i < names.Length; i++)
{
Console.Write(names[i]);
}
Console.ReadKey();
}
6.冒泡排序
static void Main(string[] args)
{
int[] nums = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for (int i = 0; i < nums.Length - 1; i++)
{
for (int j = 0; j < nums.Length - i - 1; j++)
{
if (nums[j] < nums[j + 1])
{
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
for (int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
}
基础方法(函数)
1.输出最大值(方法一)
class Program
{
static void Main(string[] args)
{
//计算两个整数之间的最大值
int max=Program.Getmax( 1,3);
Console.WriteLine(max);
}
public static int Getmax(int n1,int n2)
{//计算两个整数之间的最大值并且将返回最大值
return n1 > n2 ? n1 : n2;
}
}
2.判断闰年
class Program
{
static void Main(string[] args)
{
//举例:写一个方法,判断一个年份是否是闰年
bool a=isRun(2000);
Console.WriteLine(a);
}
/// <summary>
/// 判断给定的年份是否是闰年
/// </summary>
/// <param name="year">要判断的年份</param>
/// <returns>是否是闰年</returns>
public static bool isRun(int year)
{
bool b = (year%4==100)||(year%4==0&&year%100!=0);
return b;
}
}
3.输出最大值(方法二)
static void Main(string[] args)
{
//比较两个数字的大小 返回最大的
int a = 10;
int b = 10;
int temp=GetMax(a,b);//实参
Console.WriteLine(temp);
}
/// <summary>
/// 计算两个整数之间的最大值 并且返回最大值
/// </summary>
/// <param name="n1">第一个数</param>
/// <param name="n2">第二个数</param>
/// <returns>返回的最大值</returns>
public static int GetMax(int n1, int n2)//形参
{
int max = n1 > n2 ? n1 : n2;
return max;
}
4.读取正确的整数
static void Main(string[] args)
{
//1.读取输入的整数
//2.多次调用(如果用户输入的是数字,则返回,否则提示用户重新输入)
Console.WriteLine("请输入一个数字");
string input = Console.ReadLine();
int number = GetNumber(input);
Console.WriteLine(number);
}
/// <summary>
/// 这个方法判断用户的输入是否是数字
/// 如果是数字,则返回
/// 如果不是数字,提示用户重新输入
/// </summary>
public static int GetNumber(string s)
{
while(true)
{
try
{
int number = Convert.ToInt32(s);
return number;
}
catch
{
Console.WriteLine("请重新输入");
s = Console.ReadLine();
}
}
}
5.用户登录
static void Main(string[] args)
{
//2.只允许用户输入y或n,请该层方法
//这个方法做了什么事呢?
//只能让用户输入yes或者no,只要不是,就重新输入
Console.WriteLine("请输入y或n");
string input = Console.ReadLine();
insert(input);
}
public static void insert(string s)
{
while (true)
{
try
{
if ((s == "y") || (s == "n"))
{
Console.WriteLine("登录成功");
break;
}
else
{
Console.WriteLine("输入错误,请重新输入");
s = Console.ReadLine();
}
}
catch
{
Console.WriteLine("输入错误,请重新输入");
s = Console.ReadLine();
}
}
6.求数组总和
static void Main(string[] args)
{
int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
int sum = Getsum(nums);
Console.WriteLine(sum);
Console.ReadKey();
}
/// <summary>
///计算一个整数类型数组的总和
/// </summary>
/// <param name="nums">要求总和的数组</param>
/// <returns>返回这个数组的总和</returns>
public static int Getsum(int[] nums)
{
int sum = 0;
for(int i=0;i<nums.Length;i++)
{
sum += nums[i];
}
return sum;
}
7.多个返回值放在数组中返回
//函数返回数组
static void Main(string[] args)
{
//写一个方法 求一个数组中的最大值,最小值,总和,平均值
int[] numbers = {1,2,3,4,5,6,7,8,9 };
//将要返回的4个值,放到一个数组中返回
int[] res = GetMaxMinSumAvg(numbers);
Console.WriteLine("{0}是最大值,{1}是最小值,{2}是总和,平均值{3}",res[0],res[1],res[2],res[3]);
}
/// <summary>
///
/// </summary>
/// 计算一个数组的最大值,最小值,总和和平均值
/// <param name="nums"></param>
/// <returns></returns>
public static int[] GetMaxMinSumAvg(int[] nums)
{
int[] res = new int[4];
//假设 res[0] 最大值 res[1]最小值 res[2]总和 res[3]平均值
res[0] = nums[0];
res[1] = nums[0];
res[2] = 0;
for(int i=0;i<nums.Length;i++)
{
//如果当前循环到的元素比我假定的最大值还大
if(nums[i]>res[0])
{
//将当前循环到的元素赋值给我的最大值
res[0] = nums[i];
}
if(nums[i]<res[1])
{
res[1] = nums[i];
}
res[2] += nums[i];
}
res[3] = res[2] / nums.Length;
return res;
}