1.
(1)把数组中所有的oldvalue更新为newvalue;
(2)打印星星
*
**
***
****
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//2.封装一个方法Replace(int[] arr, int oldvalue, int newvalue);
//把数组中所有的oldvalue更新为newvalue;
//newvalue去替代oldvalue
int[] arr = { 2, 2, 3, 4, 5 };
Replace(arr, 2, 10);
foreach (var item in arr)
{
Console.Write(item + " ");
}
Console.WriteLine();
PrintStartByLine(5);
}
static void PrintStartByLine(int nunLine)
{
for (int i = 1; i <= nunLine; i++)
{
for (int j = 0; j < i; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
static void Replace(int[] arr, int oldvalue, int newvalue)
{
if (arr == null)
{
return;
}
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] == oldvalue)
{
arr[i] = newvalue;
}
}
}
}
}
2.
1)GetSum();计算1+…+100的和
2)GetSub();计算1-。。。。-100的差;
3)GetTriangleArea(int a,int b,int c);
a,b,c是三角形的三条边;
4)GetMaxNum(double a,double b,double c)
求最大值,返回当前最大值
5)printStar(int row);
*
***
*****
6)judgeMult(int n); n!=1*2*3…*n
using System;
namespace cchoopDemo
{
class Program
{
static void Main(string[] args)
{
//1.GetSum(); 计算1 +...+ 100的和
//2.GetSub(); 计算1 -。。。。-100的差;
//3.GetTriangleArea(int a, int b, int c);
//a,b,c是三角形的三条边;
//4.GetMaxNum(double a, double b, double c)
//求最大值,返回当前最大值
//5.printStar(int row);
//*
//***
//*****
//6.judgeMult(int n); n != 1 * 2 * 3...* n
Console.WriteLine(GetTriangleArea(3, 4, 5));
PrintStar(5);
Console.WriteLine(JudgeMult(3));
}
//1.GetSum(); 计算1 +...+ 100的和
static int GetSum(int minNum, int maxNum)
{
int sum = 0;
for (int i = minNum; i <= maxNum; i++)
{
sum += i;
}
return sum;
}
//2.GetSub(); 计算1 -。。。。-100的差;
static int GetSub(int minNum, int maxNum)
{
int result = minNum;
for (int i = minNum + 1; i < maxNum; i++)
{
result -= i;
}
return result;
}
//3.GetTriangleArea(int a, int b, int c);
static double GetTriangleArea(int a, int b, int c)
{
if (a < 0 || b < 0 || c < 0)
{
return -1;
}
if (a + b <= c || a + c <= b || b + c <= a)
{
return -1;
}
double p = 0, result = 0;
p = (a + b + c) / 2.0;
result = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
return result;
}
//4.GetMaxNum(double a, double b, double c)
static double GetMaxNum(double a, double b, double c)
{
double max = a;
if (b > max)
{
max = b;
}
if (c > max)
{
max = c;
}
return max;
}
//5.printStar(int row);
//*
//***
//*****
static void PrintStar(int row)
{
for (int i = 0; i < row; i++)
{
for (int j = 0; j < i * 2 + 1; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
}
//6.judgeMult(int n); n != 1 * 2 * 3...* n
static long JudgeMult(int n)
{
long result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
return result;
}
}
}
3
1)IndexOf(int[] arr,int value)
从0开始检索value,检索到第一次出现的value就结束检索,并返回该元素的下标;
2)IndexOf(int[] arr,int value,int startIndex)
从startindex处开始往后检索,返回value第一次出现的下标;
3)SubArray(int[] arr,int startIndex);
从startIndex这个下标开始往后截取所有的元素存储到新数组中,并返回;
4)Select(int[] arr,int value)
已知数组是排好序的(从小到大),现在在这个数组中快速查找元素value;
并返回value的下标;
using System;
public class Test
{
public static void Main()
{
int[] arr = {4,5,6,7,8};
Console.WriteLine(IndexOf(arr,6));
Console.WriteLine(IndexOf(arr,6,3));
int[] brr = SubArray(arr,3);
if(brr != null){
foreach(var item in brr){
Console.Write(item + " ");
}
}
Console.WriteLine("\n"+Select(arr,5));
}
static int IndexOf(int[] arr,int value){
for(int i = 0;i < arr.Length;i++){
if(arr[i] == value){
return i;
}
}
return 0;
}
static int IndexOf(int[] arr,int value,int startIndex){
for(int i = startIndex;i < arr.Length;i++){
if(arr[i] == value){
return i;
}
}
return 0;
}
static int[] SubArray(int[] array,int startIndex){
if(startIndex<0 || startIndex>array.Length-1){
return null;
}
int[] newArray = new int[array.Length-startIndex];
for(int i = 0;i < newArray.Length;i ++){
newArray[i] = array[i+startIndex];
}
return newArray;
}
static int Select(int[] arr, int value)
{
int index = -1;
int left = 0;
int right = arr.Length - 1;
int mindle = 0;
while (left <= right)
{
mindle = (left + right) / 2;
//向左查找
if (value < arr[mindle])
{
right = mindle - 1;
}
else if (value > arr[mindle])
{
//向右查找
left = mindle + 1;
}
else
{
index = mindle;
break;
}
}
return index;
}
}