C# 第二次练习
// 方法
//1.方法名称:独立完成功能的一个多个单词缩写,能见名知意即可,比如求单词平均长度:AverageWordLength
//2.方法参数:独立完成事情的条件,求单词平均长度,那么条件就是需要给单词,即:string str
//3.返回值:做事情的结果:求平均长度,平均长度应该是小数,所以返回值类型为double
//4.有返回值的方法,在书写时,首先在方法中声明一个和返回值类型一样的变量并赋初值,如:double avgLength = 0,然后返回这个变量:return avgLength,然后功能实现写在这两句代码中间
//1.统计一段英文短文中单词的平均长度
/*
string file = textBox1.Text;
double avg = AverageWordLength(file);
textBox2.Text = "单词的平均长度" + avg;
*/
//2.判断一个数是否能被3整除但不能被7整除
//textBox1.Text = "1-100之间能被3整除但不能被7整除的数有:";
//for (int i = 100; i <= 200; i++)
//{
// if (IsDivide(i))
// {
// textBox2.Text += i + ",";
// }
//}
//3.输入一个字符串,统计字符串中英文字母和数字字符的个数并输出
//Word(textBox1.Text);
//4.对正整数m求和,其中求和公式为s= 1/2+1/3+…+1/m,方法返回s的值。
//textBox2.Text = "求和为:"+Sum(int.Parse(textBox1.Text));
//5.将一个字符串中所有英文字符后加一个$字符,并返回处理后的字符串。
//textBox2.Text = "处理后的字符串:" +AddDollar(textBox1.Text);
//6.求s=1/a+1/aa+1/aaa+1/aaaa+1/aaaaa的值
//textBox2.Text = "计算后:" +Sum1(int.Parse(textBox1.Text));
//7.判断一个数是否是完数,返回值为布尔类型。一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。
//textBox2.Text = "是否是完数:" + IsPerfect(int.Parse(textBox1.Text));
//8.求分数序列:2/1,1/3,3/4,4/7,7/11,11/18...的前10项之和,并返回。
//textBox2.Text = "前10项之和:" + Sum2();
//9.求1+1/2!+1/3!+...+1/n!的和,并将和作为返回值返回
//textBox2.Text = "1+1/2!+1/3!+...+1/n!的和:" + Sum3(int.Parse(textBox1.Text));
//10.在大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均
//编写一个方法,输入10个选手的分数,返回最后得分。
string str = textBox1.Text;
int[] s =str.Split(',').Select(int.Parse).ToArray();
double avg = LastScore(s);
textBox2.Text = "最后得分:" + avg;
}
//1.统计一段英文短文中单词的平均长度,单词之间由若干个空格隔开。
public double AverageWordLength(string str)
{//I am a student
double avgLength = 0;
string[] words = str.Split(' ');
double sum = 0;
for (int i = 0; i < words.Length; i++)
{
sum += words[i].Length;
}
avgLength = sum / words.Length;
return avgLength;
}
//2.判断一个数是否能被3整除但不能被7整除
bool IsDivide(int num)
{
bool flag = false;
if (num % 3 == 0 && num % 7 != 0)
{
flag = true;
}
return flag;
}
//3.输入一个字符串,统计字符串中英文字母和数字字符的个数并输出。要求编写应用程序,来检验方法的正确性。
public void Word(string str)
{
int zimu = 0;
int shuzi = 0;
int qita = 0;
foreach (char s in str)
{
if ((s >= 'a' && s <= 'z') || (s >= 'A' && s <= 'Z'))
{
zimu++;
}
else if (s >= '0' && s <= '9')
{
shuzi++;
}
else
{
qita++;
}
}
textBox2.Text = "英文字符个数:" + zimu + "数字字符个数:" + zimu + "其他字符个数:" + qita;
}
//4.对正整数m求和,其中求和公式为s= 1/2+1/3+…+1/m,方法返回s的值。
public double Sum(int m)
{
double s = 0;
for (int i = 1; i <= m; i++)
{
s += 1.0 / i;
}
return s;
}
//5.写一个方法,将一个字符串中所有英文字符后加一个$字符,并返回处理后的字符串。
//例如输入:A1B23CD45,则方法返回值为:A$1B$23C$D$45,要求编写应用程序,来检验方法的正确性。
public string AddDollar(string str)
{
string result = "";
foreach (char s in str)
{
if ((s >= 'a' && s <= 'z') || (s >= 'A' && s <= 'Z'))
{
result += s + "$";
}
else
{
result += s;
}
}
return result;
}
//6.写一个方法,求s=1/a+1/aa+1/aaa+1/aaaa+1/aaaaa的值,其中a是用户定义的数字。
//例如1/2+1/22+1/222+1/2222+1/22222(此时共有5个数相加),返回值为和s。
public double Sum1(int a)
{
double s = 0;
for (int i = 1; i <= a; i++)
{
s += 1.0 / (a*xunhuan(i));
}
return s;
}
public int xunhuan(int n)
{
int a = 0;
string s = 0.ToString();
for (int i = 1; i <= n; i++)
{
s += 1;
}
a=int.Parse(s);
return a;
}
//7.判断一个数是否是完数,返回值为布尔类型。一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3。
bool IsPerfect(int num)
{
int sum = 0;
for (int i = 1; i <= num / 2; i++)
{
if (num % i == 0)
{
sum += i;
}
}
if (sum == num)
return true;
else
return false;
}
//8.写一个方法,求分数序列:2/1,1/3,3/4,4/7,7/11,11/18...的前10项之和,并返回。
public double Sum2()
{
double sum = 0;
double a = 1;
double b = 2;
double temp = 0;
for (int i = 0; i < 10; i++)
{
sum += a / b;
temp = b;
b = a + b;
a = temp;
}
return sum;
}
//9.求1+1/2!+1/3!+...+1/n!的和,并将和作为返回值返回
public double Sum3(int n)
{
double sum = 0;
for (int i = 1; i <= n; i++)
{
sum += 1.0 / Factorial(i);
}
return sum;
}
public int Factorial(int n)
{
int result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
return result;
}
//10.在大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均
//编写一个方法,输入10个选手的分数,返回最后得分。
public double LastScore(int[] scores)
{
Array.Sort(scores);
int max = scores[9];
int min = scores[0];
int sum = 0;
for (int i = 1; i < 9; i++)
{
sum += scores[i];
}
double avg = (double)sum / 8;
return avg;
}
删除线
标签:C#,练习,单词,&&,返回值,长度,第二次,整除 From: https://www.cnblogs.com/yaolicheng/p/18597022引用
*** 分割线 ---