元旦給自己的作業,基本都是以前做過的,只是都封裝到方法裏面使用,後面幾題的方式在傳參和返回有所偷懶。接着開始第八天的總結項目:飛行棋!
class Program
{
static void Main(string[] args)
{
//// 79、用方法來實現:有一個字符串數組:{ "馬龍", "邁克爾喬丹", "雷吉米勒", "蒂姆鄧肯", "科比布萊恩特" },請輸出最長的字符串。
//string[] strs = { "馬龍", "邁克爾喬丹", "雷吉米勒", "蒂姆鄧肯", "科比布萊恩特" };
//string str = GetStr(strs);
//Console.WriteLine(str);
//Console.ReadKey();
////80.用方法來實現:請計算出一個整姓數組的平均值,保留兩位小數
//int[] nums = { 1, 2,8 };
//double avg1 = GetAvg(nums);
//Console.WriteLine(avg1);
//string str = avg1.ToString("0.00");
//double avg = Convert.ToDouble(str);
//Console.WriteLine(avg);
//Console.ReadKey();
// 81、寫一個方法,用來判斷用戶輸入的數字是不是質數 再寫一個方法 要求用戶只能輸入數字 輸入有誤就一直讓用戶輸入數字
//while (true)
//{
// Console.WriteLine("請輸入一個整數,判斷出是不是質數");
// string num = Console.ReadLine();
// int number = GetShuZi(num);
// bool b = GetZhiShu(number);
// Console.WriteLine(b);
// Console.ReadKey();
//
/*95、接受輸入後判斷其等級並顯示出來。判斷依據如下:等級 ={
優 (90~100分);良 (80~89分)
//;中 (60~69分);差 (0~59分);}*/
//Console.WriteLine("請出入成績,判斷出等級給你");
//string str = Console.ReadLine();
//int number = GetShuZi(str);
//string str1 = GetLevel(number);
//Console.WriteLine(str1);
//Console.ReadKey();
/* 97、請將字符串數組{ "中國", "美國", "巴西", "澳大利亞","加拿大" }
中的內容反轉*/
//string[] strs = { "中國", "美國", "巴西", "澳大利亞", "加拿大" };
//GetS(strs);
//Console.ReadKey();
/*98寫一個方法 計算圓的面積和周長 面積是 pI*R * R 周長是 2 * Pi * r*/
//Console.WriteLine("輸入圓的半徑");
//string str = Console.ReadLine();
//double n = GetShuZi(str);
//double mianJi;
//double zhouChang;
//GetMianJi(n, out mianJi, out zhouChang);
//Console.WriteLine("圓的面積是{0},周長是{1}", mianJi, zhouChang);
//Console.ReadKey();
/*100、計算任意多個數間的最大值(提示:params)。*/
//GetMax(1, 9, 22, 23, 93, 54, 89, 77);
//Console.ReadKey();
//101、請通過冒泡排序法對整數數組{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }實現升序排序。
//int[] nums = { 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 };
//GetNums(nums);
//Console.ReadKey();
//103用方法來實現:請計算出一個整型數組的平均值。{ 1, 3, 5, 7, 93, 33, 4, 4, 6, 8, 10 }。要求:計算結果如果有小數,則顯示小數點後兩位(四捨五入)。
//int[] nums = { 1, 3, 5, 7, 93, 33, 4, 4, 6, 8, 10 };
//GetAvg1(nums);
//Console.ReadKey();
//102將一個字符串數組輸出爲 | 分割的形式,比如“梅西 | 卡卡 | 鄭大世”(用方法來實現此功能)
string[] strs = { "梅西", "卡卡", "鄭大世" };
string str = GetSizi(strs);
Console.WriteLine(str);
Console.ReadKey();
}
#region 79題所使用的方法
/// <summary>
/// 取字符串數組裏面長度最大的字符串返回
/// </summary>
/// <param name="s">傳入的字符串</param>
/// <returns>返回長度最大的字符串</returns>
public static string GetStr(string[] s)
{
string str = s[0];
for (int i = 0; i < s.Length; i++)
{
if (s[0].Length < s[i].Length)
{
str = s[i];
}
}
return str;
}
#endregion
#region 80的方法
/// <summary>
/// 求整數數組的平均值
/// </summary>
/// <param name="ns">整數數組</param>
/// <returns>返回平均值</returns>
public static double GetAvg(int[] ns)
{
double sum = 0;
for (int i = 0; i < ns.Length; i++)
{
sum += ns[i];
}
return sum / ns.Length;
}
#endregion
#region 81.1的方法先判斷用戶輸入能不能被轉爲數字,不能就讓用戶重新輸入
/// <summary>
/// 判斷用戶輸入能不能被轉爲數字
/// </summary>
/// <param name="s">傳入用戶輸入爲參數</param>
/// <returns>返回轉換後的數字</returns>
public static double GetShuZi(string s)
{
while (true)
{
try
{
double n = Convert.ToInt32(s);
return n;
}
catch
{
Console.WriteLine("輸入的內容不能被轉換爲數字,請重新輸入!");
s = Console.ReadLine();
}
}
}
#endregion
#region 81.2能被轉爲數字後判斷是否是質數
/// <summary>
/// 判斷被轉換後的數字是不是質數
/// </summary>
/// <param name="n">轉換後的數字</param>
/// <returns>返回是不是質數</returns>
public static bool GetZhiShu(int n)
{
if (n < 2)
{
return false;
}
else
{
for (int i = 2; i < n; i++)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
}
#endregion
#region 95方法
/// <summary>
/// 給用戶輸入的數字分級
/// </summary>
/// <param name="n">用戶輸入的數字</param>
/// <returns>返回等級</returns>
//public static string GetLevel(int n)
//{
// while (true)
// {
// string s = "";
// if (n >= 90 && n <= 100)
// {
// s = "優";
// return s;
// }
// else if (n >= 80 && n <= 89)
// {
// s = "良";
// return s;
// }
// else if (n >= 60 && n <= 79)
// {
// s = "中";
// return s;
// }
// else if (n >= 0 && n <= 59)
// {
// s = "差";
// return s;
// }
// else
// {
// s = "輸入不對,請重新輸入";
// n = GetShuZi(Console.ReadLine());
// }
// }
//}
#endregion
#region 97方法
/// <summary>
/// 反轉字符串數組的字符
/// </summary>
/// <param name="ss">需要反轉的字符串</param>
public static void GetS(string[] ss)
{
string temp = "";
for (int i = 0; i < ss.Length / 2; i++)
{
temp = ss[i];
ss[i] = ss[ss.Length - i - 1];
ss[ss.Length - i - 1] = temp;
}
for (int i = 0; i < ss.Length; i++)
{
Console.WriteLine(ss[i]);
}
}
#endregion
#region 98求圓的面積和周長
public static void GetMianJi(double r, out double n1, out double n2)
{
n1 = 3.14 * r * r;
n2 = 3.14 * r * 2;
}
#endregion
#region 100的方法
/// <summary>
/// 求多個數字之間的最大值
/// </summary>
/// <param name="ns"></param>
/// <returns></returns>
public static void GetMax(params int[] ns)
{
int max = ns[0];
for (int i = 0; i < ns.Length; i++)
{
if (max < ns[i])
{
max = ns[i];
}
}
Console.WriteLine(max);
}
#endregion
#region 101的方法
/// <summary>
/// 使用方法實現冒泡排序
/// </summary>
/// <param name="nums">傳入的數組</param>
public static void GetNums(int[] nums)
{
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;
}
}
}
//Array.Sort(nums);
for (int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
}
#endregion
#region 103的方法
/// <summary>
/// 求數組的平均值,並保留兩位小數,四捨五入
/// </summary>
/// <param name="nums">傳入的數組參數</param>
public static void GetAvg1(int[] nums)
{
int sum = 0;
for (int i = 0; i < nums.Length; i++)
{
sum += nums[i];
}
double avg = sum * 1.0 / nums.Length;
string str = avg.ToString("0.00");
double avg1 = Convert.ToDouble(str);
Console.WriteLine("平均值是:{0}", avg1);
}
#endregion
#region 102的方法
/// <summary>
/// 把字符串數組用|分割輸出,最後一個不加|
/// </summary>
/// <param name="strs">傳入的字符串數組</param>
public static string GetSizi(string[] strs)
{
string name = null;
for (int i = 0; i < strs.Length - 1; i++)
{
name += strs[i] + "|";
}
return name + strs[strs.Length - 1];
#endregion
}
}