//15. 用方法来实现:有一个字符串数组:{ "马龙", "迈克尔乔丹", "雷吉米勒", "蒂姆邓肯", "科比布莱恩特" },请输出最长的字符串。
//string[] names = { "马龙", "迈克尔乔丹", "雷吉米勒", "蒂姆邓肯", "科比布莱恩特"};
//string max = GetLongest(names);
//Console.WriteLine(max);
//Console.ReadKey();
static string GetLongest(string[] names)
{
// string max=names[0]; 这句是先把names数组的第一个元素的值,赋值max,就是说先把第一个数当最大的数,然后在for循环里面和其他的进行比较,如果存在names[i]的值大于max,那么就重新赋值最大值。。
string max=names[0];
for (int i = 0; i < names.Length; i++)
{
if(names[i].Length>max.Length)
{
max=names[i];
}
}
return max;
//16. 用方法来实现:请计算出一个整型数组的平均值。{ 1, 3, 5, 7, 93, 33, 4, 4, 6, 8, 10 }。要求:计算结果如果有小数,则显示小数点后两位(四舍五入)。
//int[] nums = { 1, 3, 5, 7, 93, 33, 4, 4, 6, 8, 10 };
//double avg = GetAvg(nums);
//avg = Convert.ToDouble(avg.ToString("0.00"));
//Console.WriteLine(avg);
//Console.ReadKey();
//求一个整型数组的平均值
static double GetAvg(int[] nums)
{
double sum = 0;
for (int i = 0; i < nums.Length; i++)
{
sum+=nums[i];
}
return sum / nums.Length;
}
//17. 请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序。
//int[] nums = { 1,3,5,7,90,2,4,6,8,10};
//MaoPao(nums);
//foreach (int item in nums)
//{
// Console.WriteLine(item);
//}
//Console.ReadKey();
//17.冒泡排序
static void MaoPao(int[] nums)
{
for (int i = 0; i < nums.Length-1; i++)
{
for (int j = 0; j <nums.Length-1-j; j++)
{
if(nums[j]>nums[j+1])
{
int temp=nums[j];
nums[j]=nums[j+1];
nums[j + 1] = temp;
}
}
}
}
//18。为教师编写一个程序,该程序使用一个数组存储30个学生的考试成绩,并给各个数组元素指定一个1-100的随机值,然后计算平均成绩。
//好,我们先来定义一个长度为30的数组
//int[] nums=new int[30];
////通过随机数给数组赋值,我们应该是给数组中德每一个元素赋值,通过for循环来实现
////初始化随机数对象
//Random r = new Random();
//int sum=0;
//for (int i = 0; i < nums.Length; i++)
//{
// //产生的随机数
// int number = r.Next(0,100);
// //将产生的随机数赋值给我们数组中的每一个元素
// nums[i] = number;
// sum+=nums[i];
//}
//Console.WriteLine(sum/nums.Length);
//Console.ReadKey();
//19. 有如下字符串:【"患者:“大夫,我咳嗽得很重。” 大夫:“你多大年记?” 患者:“七十五岁。” 大夫:“二十岁咳嗽吗”患者:“不咳嗽。” 大夫:“四十岁时咳嗽吗?” 患者:“也不咳嗽。” 大夫:“那现在不咳嗽,还要等到什么时咳嗽?”"】。需求:请统计出该字符中“咳嗽”二字的出现次数,以及每次“咳嗽”出现的索引位置。
/* string str = "患者:“大夫,我咳嗽得很重。” 大夫:“你多大年记?” 患者:“七十五岁。” 大夫:“二十岁咳嗽吗”患者:“不咳嗽。” 大夫:“四十岁时咳嗽吗?” 患者:“也不咳嗽。” 大夫:“那现在不咳嗽,还要等到什么时咳嗽?”";
int index=str.IndexOf("咳嗽");//IndexOf 第一次出现的位置
//我们可以直接找到第一”单词“出现的位置,但是第二个是在我们第一个的基础上加1再找的,那么什么时候就不找了呢,找不着了就不找了,返回值-1
int count = 1;
while (index!=-1)
{
count++;
index = str.IndexOf("咳嗽",index+1);
//这样会把-1找出来,下面我们来做一下判断
if(index==-1)
{
break;
}
Console.WriteLine("第{0}次找到咳嗽的位置是{1}",count,index);
}
Console.ReadKey();
*/
//20. 将字符串" hello world,你 好 世界 ! "两端空格去掉,并且将其中的所有其他空格都替换成一个空格,输出结果为:"hello world,你 好 世界 !"。
/* string s = " hello world,你 好 世界 ! ";
//去除空格用Trim()
s = s.Trim();
//那我们接下来怎么做呢?好,我们先将字符串中德空格都去掉,然后再用一个空格将他们连起来,返回一个数组
string[] sNew= s.Split(new char[]{‘ ‘},StringSplitOptions.RemoveEmptyEntries);
//用空格将他们连起来 用join,再重新赋值给字符串
s = string.Join(" ",sNew);
//打印输出
Console.WriteLine(s);
Console.ReadKey();
*/
//21. 制作一个控制台小程序。要求:用户可以在控制台录入每个学生的姓名,当用户输入quit(不区分大小写)时,程序停止接受用户的输入,并且显示出用户输入的学生的个数,以及每个学生的姓名。效果如图:
//学员姓名的集合
/* List<string> listName = new List<string>();
while (true)
{
Console.WriteLine("请输入学院姓名");
string name = Console.ReadLine();
//将姓名添加到集合中
if (name.ToLower()!="quit")
{
//如果输入的不是quit,就将输入的学员姓名添加到集合中
listName.Add(name);
}
else
{
break;
}
}
Console.WriteLine("您一共输入了{0}个学员的姓名",listName.Count);
//打印每一个姓名
for (int i = 0; i < listName.Count; i++)
{
Console.WriteLine(listName[i]);
}
Console.ReadKey();
*/
//22.题目内容同上题,再增加一个显示姓“王”的同学的个数,此处不考虑复姓问题。
/* List<string> listName = new List<string>();
while (true)
{
Console.WriteLine("请输入学院姓名");
string name = Console.ReadLine();
//将姓名添加到集合中
if (name.ToLower() != "quit")
{
//如果输入的不是quit,就将输入的学员姓名添加到集合中
listName.Add(name);
}
else
{
break;
}
}
int count=0;
Console.WriteLine("您一共输入了{0}个学员的姓名", listName.Count);
//打印每一个姓名
for (int i = 0; i < listName.Count; i++)
{
if(listName[i][0]==‘王‘)
{
count++;
}
Console.WriteLine(listName[i]);
}
Console.WriteLine("姓王的同学有{0}个",count);
Console.ReadKey();
*/
//23. 请将字符串数组{ "中国", "美国", "巴西", "澳大利亚", "加拿大" }中的内容反转。然后输出反转后的数组。不能用数组的Reverse()方法。
string[] names={ "中国", "美国", "巴西", "澳大利亚", "加拿大" };
//调用函数,将数组传进去
Change(names);
foreach (string item in names)
{
Console.WriteLine(item);
}
Console.ReadKey();
//23.反转
static void Change(string[] names)
{
//要反转,需要将数组中的所有元素的长度/2,再两两的进行比较
for (int i = 0; i < names.Length/2; i++)
{
string temp=names[i];
names[i] = names[names.Length - 1 - i];
names[names.Length - 1 - i]=temp;
}
}
//25.什么是方法的重载
//方法名相同参数不同(参数不同分为两种:1.类型一样,个数不一样;2.个数一样,类型不一样)
}