C# —— 基础语法练习30题
自动缩进:Ctrl+k+f
1.创建一个包含 10 个元素的 int 一维数组,从键盘接收其值;当用户输入非法时,提示重新输入;计算一维数组中的元素平均值,并显示(保留小数点后4 位);
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[10];
int sum = 0;
double ans;
string n;
for (int i = 0;i<10;i++)
{
Console.Write("请输入数组的第{0}个元素:",(i+1).ToString());
n = Console.ReadLine();
if (string.IsNullOrEmpty(n))
{
Console.WriteLine("不可输入为空");
i--;
}
else
{
try
{
a[i] = int.Parse(n);
}
catch
{
Console.WriteLine("非法输入");
i--;
continue;
}
sum += a[i];
}
}
ans = sum / 10.0;
Console.WriteLine(ans.ToString("0.0000"));
Console.ReadKey();
}
}
}
2.从键盘循环接收字符串,并换行逆序显示;当用户直接回车时,结束;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string a;
while (true)
{
Console.Write("请输入一个字符串:");
a = Console.ReadLine();
if (a == "")
break;
char[] ch = a.ToArray();
Array.Reverse(ch, 0, a.Length);//数组逆序函数
Console.Write("逆序后的字符串为:");
foreach (char i in ch)
{
Console.Write(i);
}
Console.WriteLine();
}
}
}
}
3.从键盘循环接收字符串,计算其中的单词个数,并逐单词逆序显示,假定单词之间以空格为分隔符;
解析:
这道题有一些细节要注意。比如:多个空格其实应该看成一个分隔符。最后一个符号化作空格后不应该起到分割作用。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string a;
while (true)
{
Console.Write("请输入一个字符串:");
a = Console.ReadLine();
if (a == "") //不输入直接按回车就退出
break;
char[] b = a.ToCharArray();
for (int i = 0; i < b.Length; i++)
{
if (char.IsPunctuation(b[i]))
{
b[i] = ' '; //是标点则化为空格
}
}
a = new string(b);
string[] word = a.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);//去除空数据
Console.WriteLine("该字符串中共有{0}个单词。", word.Length);
Array.Reverse(word, 0, word.Length);
Console.Write("逆序之后的字符串为:");
foreach (string i in word)
{
Console.Write(i + " ");
}
Console.WriteLine();
}
}
}
}
创建一个包含 10 个元素的 int 型一维数组,从键盘接收其值,当用户输入非法时,提示;使用 foreach 循环语句逐个显示该数组的值;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[10];
string temp;
for(int i = 0; i < 10; i++)
{
Console.Write("请输入第{0}个元素,一共10个元素:", i + 1);
temp = Console.ReadLine();
while (true)
{
try
{
a[i] = int.Parse(temp);
break;
}
catch
{
Console.Write("第{0}个元素输入错误,请重新输入:", i + 1);
temp = Console.ReadLine();
}
}
}
foreach (int i in a)
{
Console.Write(i + " ");
}
Console.ReadKey();
}
}
}
从键盘循环接收字符串,判断用户输入,若为 5 个大写字母,则显示提示信息后退出,否则,重新接收字符串判断;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string a;
while (true)
{
Console.Write("请输入一个字符串:");
a = Console.ReadLine();
char[] ch = a.ToCharArray();
if (ch.Length != 5)
{
Console.WriteLine("字符串长度不是5!");
}
else
{
bool flag = true;
foreach(char i in ch)
{
if (!char.IsUpper(i))
flag = false;
}
if (flag)
{
Console.WriteLine("输入字母为5个大写字母!");
break;
}
else
{
Console.WriteLine("输入字符不是5个大写字母!");
}
}
}
}
}
}
6.使用随机数,填充数组 arr,并使用循环语句显示该二维数组的值,同时计算并显示每一行元素的和;
假定数组定义如下:int[,] arr=new int[2,3];
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
int[,] arr = new int[2, 3];
long sum = 0;
Random random = new Random();
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
{
arr[i, j] = random.Next();
sum += arr[i, j];
Console.Write("arr[{0},{1}]={2}\t", i, j, arr[i, j]);
}
Console.WriteLine("Sum = {0}", sum);
sum = 0;
}
Console.ReadKey();
}
}
}
7.使用随机数填充一个具有 10 个元素的一维 byte 数组,并按降序排列显示其值;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
byte[] a = new byte[10];
random.NextBytes(a);
Array.Sort(a);
Array.Reverse(a);
for (int i = 0; i < 10; i++)
{
Console.WriteLine("arr[{0}]={1}", i, a[i]);
}
Console.ReadKey();
}
}
}
8.自定义一个包含 10 个元素的一维 int 数组,并在声明语句中为其赋值;使用循环语句,随机选取该数组中的 5 个不重复的数据,拼成字符串(可使用空格将每个元素分隔),并显示;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
int[] arr = { 11, 33, 44, 21, 5, 7, 9, 10, 40, 35 };
List<int> list = arr.ToList();
int ans;
Random random = new Random();
for (int i = 0; i < 5; i++)
{
ans = list[random.Next(arr.Length-i)];
list.Remove(ans);
Console.Write(ans + " ");
}
Console.ReadKey();
}
}
}
- 从键盘循环接收字符串,判断其是否可以转换成日期,若可以则以长格式显示(“**** 年** 月** 日”),若不可以则显示提示信息。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
DateTime DT;
string a;
while (true)
{
Console.Write("请输入一个日期字符串:");
a = Console.ReadLine();
if (a == "")
break;
if (DateTime.TryParse(a, out DT))
{
Console.WriteLine(DT.ToString("yyyy年MM月dd日"));
}
else
{
Console.WriteLine("输入字符串不能转化为日期");
}
}
}
}
}
10.随机生成一个 60~100 之间的整数,判断该值的大小,若在 60~75 之间,则显示“Ok”,若在 76 ~ 90 之间则显示“good”,若在 91~100 之间,则显示“excellent”。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int a;
a = random.Next(60, 101);
if (a>=60 && a <= 75)
{
Console.WriteLine($"生成随机数值为{a},OK!");
}
if (a >= 76 && a <= 90)
{
Console.WriteLine($"生成随机数值为{a},Good!");
}
if (a >= 91 && a <= 100)
{
Console.WriteLine($"生成随机数值为{a},Excellent!");
}
Console.ReadKey();
}
}
}
11.随机生成一个 100~999 之间的整数,将该整数的个位、十位、百位的值相加,显示其值;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int a,ans;
for (int i = 0; i < 10; i++)
{
a = random.Next(100, 1000);
ans = (a / 100) + (a / 10) % 10 + a % 10;
Console.WriteLine($"随机生成的3位整数是{a},其数位和为{ans}");
}
Console.ReadKey();
}
}
}
12.从键盘接收一个 int 整数,若为负数,则显示 negative,若为零,则显示 zero,若为正数,则显示 positive。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string a;
int num;
while (true)
{
Console.Write("请输入数字:");
a = Console.ReadLine();
if (a == "")
break;
try
{
num = int.Parse(a);
if (num < 0)
{
Console.WriteLine($"输入的数字为{num},Negative");
}
if (num == 0)
{
Console.WriteLine($"输入的数字为{num},Zero");
}
if (num > 0)
{
Console.WriteLine($"输入的数字为{num},Positive");
}
}
catch
{
Console.WriteLine("输入的不为数字");
}
}
}
}
}
13.创建一个 byte 类型的数组,数组长度由用户输入指定,并使用随机数填充该数组;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入数组长度:");
byte [] arr = new byte [int.Parse(Console.ReadLine())];
Random random = new Random();
random.NextBytes(arr);
Console.Write("随机数填充后的数组为:");
foreach(byte i in arr)
{
Console.Write(i + " ");
}
Console.ReadKey();
}
}
}
14.从键盘接收一个字符串,显示字符串的长度,并查找该串中是否存在字母 A(无论大小写),若不存在,则将大写字母 A 插入到串首位置,并显示新串。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string a;
while (true)
{
Console.Write("请输入一个字符串:");
a = Console.ReadLine();
if (a == "")
break;
Console.WriteLine($"字符串长度为:{a.Length}");
if (a.Contains("a") || a.Contains("A"))
{
Console.WriteLine("该字符串中存在a or A字符");
}
else
{
a = a.Insert(0,"A");
Console.WriteLine($"在首位插入A后的字符串为:{a}");
}
}
}
}
}
15.从键盘接收一个字符串,统计数字字符出现的次数,并显示每次出现的位置;
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string a;
int count = 0;
List<int> ans = new List<int>();
Console.WriteLine("请输入一个字符串:");
a = Console.ReadLine();
char[] b = a.ToCharArray();
for (int i = 0; i < b.Length; i++)
{
if (char.IsDigit(b[i]))
{
ans.Add(Array.IndexOf(b, b[i],i) + 1);
count++;
}
}
Console.WriteLine($"数字字符出现的次数为:{count}");
Console.WriteLine("所处位置分别为:");
for (int i = 0; i < ans.Count; i++)
{
Console.Write(ans[i] + " ");
}
Console.ReadKey();
}
}
}
16.从键盘接收一个字符串,将其中的所有数字字符去除后,显示;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string a;
Console.WriteLine("请输入一个字符串:");
a = Console.ReadLine();
char[] b = a.ToCharArray();
List<char> ans = new List<char>();
for (int i = 0; i < b.Length; i++)
{
if (!char.IsDigit(b[i]))
{
ans.Add(b[i]);
}
}
Console.WriteLine("去除数字字符后的字符串为:");
foreach(char i in ans)
{
Console.Write(i);
}
Console.ReadKey();
}
}
}
17.从键盘接收一个字符串,将字符串中的子串“ab”替换为“cd”,显示替换前后的字符串,并显示替换的次数。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("请输入一个字符串:");
string a = Console.ReadLine();
int count = 0;
if (a == "")
break;
if (a.Contains("ab"))
{
string[] arr = Regex.Split(a, "ab");
count = arr.Length - 1;
a = string.Join("cd",arr);
Console.WriteLine($"将ab替换成cd之后的字符串为:{a}");
Console.WriteLine($"共替换了{count}次");
}
else
{
Console.WriteLine("原字符串中没有ab字符");
}
}
}
}
}
18.从键盘接收一个字符串,将其转换成一个 double 类型的数据,若转换成功,则显示转换之后的结果(保留小数点之后的 4 位,小数点之前的数字每 3 位加一个逗号);若转换失败,则显示提示信息,并继续接收用户输入,重新转换;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("请输入一个字符串:");
string a = Console.ReadLine();
if (a == "")
break;
try
{
Console.WriteLine("转换后的字符串为:");
Console.WriteLine(string.Format("{0:N4}", double.Parse(a))+"\n");
}
catch
{
Console.WriteLine("转换失败\n");
}
}
}
}
}
19.从键盘接收两个整型数据 x 和 y,x 在 0-100 之间,y 在 0-30 之间,求 z=x*0.7+y,保留小数点后 2 位显示结果。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
int x, y;
double z;
Console.Write("请输入x(0-100):");
x = int.Parse(Console.ReadLine());
Console.Write("请输入y(0-30):");
y = int.Parse(Console.ReadLine());
z = x * 0.7 + y;
Console.WriteLine($"z = {x}*0.7+{y} = "+ string.Format("{0:N2}",z));
Console.ReadKey();
}
}
}
20.从键盘接收一个 0-10 之间的数据,使用 while 循环语句,求该数据的立方值,并以 3 位整数的形式显示,位数不足用 0 补充。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
string a;
int b;
Console.Write("请输入0-10之内的数字:");
a = Console.ReadLine();
if (a == "")
break;
try
{
int count = 1;
b = int.Parse(a);
if (b < 0 || b > 10)
continue;
int temp = b;
while (count < 3)
{
b *= temp;
count++;
}
Console.WriteLine(string.Format("{0:D3}", b));
}
catch
{
Console.WriteLine("请按规范输入!");
}
}
}
}
}
21.从键盘接收一个字符串,将其按照字符“\”进行拆分成数组,显示该数组的元素个数,并按倒序显示数组中的每个元素。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("请输入一个字符串:");
string a = Console.ReadLine();
string[] b = new string[] { };
if (a == "")
break;
b = a.Split('/');
b = b.Reverse().ToArray();
Console.WriteLine($"数组元素个数为:{b.Length}");
Console.Write("逆序后的数组为:");
foreach (string i in b)
{
Console.Write(i + " ");
}
}
}
}
}
22.使用随机数填充一个包含 10 个元素的 int 数组,找出其中的最大值,显示,并计算该数组的平均值,显示;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int[] a = new int[10];
double sum = 0;
Console.Write("数组为:");
for (int i = 0; i < 10; i++)
{
a[i] = random.Next(0,10);
sum += a[i];
Console.Write(a[i] + " ");
}
Array.Sort(a);
int max = a[a.Length-1];
Console.WriteLine($"\n数组内最大值为:{max}");
Console.WriteLine("数组内平均值为:"+string.Format("{0:N2}",sum/10));
Console.ReadKey();
}
}
}
23.统计一个字符串中的数字字符的数目,并显示;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("请输入一个字符串:");
string a = Console.ReadLine();
int num = 0;
if (a == "")
break;
char[] ch = a.ToArray();
Console.Write("字符串中的数字字符为:");
for (int i = 0; i < ch.Length; i++)
{
if (char.IsDigit(ch[i]))
{
num++;
Console.Write(ch[i] + " ");
}
}
Console.Write($"\n一共有{num}个数字字符\n\n");
}
}
}
}
24.从键盘接收一个字符串,将其中的所有字母(包括大写字母和小写字母)删除后,显示结果字符串;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("请输入一个字符串:");
string a = Console.ReadLine();
if (a == "")
break;
char[] ch = a.ToArray();
Console.Write("删除字母后的字符串为:");
for (int i = 0; i < ch.Length; i++)
{
if (!char.IsLetter(ch[i]))
{
Console.Write(ch[i] + " ");
}
}
Console.WriteLine("\n");
}
}
}
}
25.从键盘接收 3 个整数,将其按照从小到大的顺序显示;
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
string[] a = new string[3];
string value;
Console.Write("请输入3个整数:");
value = Console.ReadLine();
a = value.Split(' ');
Array.Sort(a);
Console.Write("从小到大排序后为:");
foreach(string i in a)
{
Console.Write(i + " ");
}
Console.ReadKey();
}
}
}
26.将输入的任一字符串翻译成密文,密码规则:用原来的字母后的第 3 个字母代替原来的字母;例如遇到 A 用 D 代替,依次类推。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("请输入一个字符串:");
string a = Console.ReadLine();
if (a == "")
break;
char[] chr = a.ToCharArray();
Console.Write("密文为:");
for (int i = 0; i < a.Length; i++)
{
Console.Write((char)(chr[i] + 3));
}
Console.WriteLine();
}
}
}
}
27.从键盘循环接收一个字符串,输入空串时退出循环。对接收的字符串执行以下操作:
(1)统计字符串中数字字符出现的次数以及每次出现的位置。
(2)将字符串中的所有字符按照原顺序用大写字母构成新的字符串,并输出。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("请输入一个字符串:");
string a = Console.ReadLine();
int count = 0;
if (a == "")
break;
a = a.ToUpper();
char[] chr = a.ToCharArray();
ArrayList Num_Place = new ArrayList();
for (int i = 0; i < a.Length; i++)
{
if (char.IsDigit(chr[i]))
{
Num_Place.Add(i+1);
count++;
}
}
Console.Write($"数字出现的次数为{count},分别位于:");
foreach (int i in Num_Place)
Console.Write(i + " ");
Console.Write("\n将字符串中的字符转换成大写为:");
foreach (char i in chr)
Console.Write(i);
Console.WriteLine("\n");
}
}
}
}
28.从键盘接收一个整数 n,构造含有 n 个元素的整型数组,用 0~100 之内的随机数填充该数组 ,然后分别输出该数组中的最大值/最小值和平均值。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入一个整数n:");
int[] a = new int[int.Parse(Console.ReadLine())];
Random random = new Random();
Console.Write("数组内的元素为:");
for (int i = 0; i < a.Length; i++)
{
a[i] = random.Next(0, 101);
Console.Write(a[i] + " ");
}
Console.WriteLine("\n数组内的最大值为:" + a.Max());
Console.WriteLine("数组内的最小值为:" + a.Min());
Console.WriteLine("数组内的平均值为:" + a.Average());
Console.ReadKey();
}
}
}
29.请编写一个控制台程序,可以将英语规则名词(不考虑不满足以下规则的英语单词)由单数变成复数。已知规则如下:
a)以辅音字母 y 结尾,则将 y 改成 i,再加 es;
b)以 s,x,ch,sh 结尾,则加 es;
c)以元音 o 结尾,则加 es;
d)其他情况直接加 s。
要求用键盘输入英语规则名词,屏幕输出该名词的复数形式。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("请输入一个英语名词:");
string word = Console.ReadLine();
if (word == "")
break;
string[] word_Array = new string[word.Length];
int j = 0;
foreach(char i in word)
{
word_Array[j] = i.ToString();
j++;
}
ArrayList al = new ArrayList(word_Array);
if (word.EndsWith("y"))
{
al.RemoveAt(word.Length-1);
al.Add("ies");
}
else if (word.EndsWith("s")|| word.EndsWith("x")|| word.EndsWith("o"))
al.Add("es");
else if (word.EndsWith("ch")|| word.EndsWith("sh"))
al.Add("es");
else
al.Add("s");
Console.Write("变复数后的名词为:");
foreach (string i in al)
Console.Write(i);
Console.WriteLine("\n");
}
}
}
}
30.、请编写一个控制台程序,实现以下功能:
(1)随机生成一个整数 n,要求 n 在 1~100 之间(包含 1、100)。
(2)输出 1~n 之间所有的奇数、偶数、3 的倍数。
代码如下:
using Microsoft.Win32.SafeHandles;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace test
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();
int n = random.Next(1,100);
List<int> Even_Num_List = new List<int>();
List<int> Odd_Num_List = new List<int>();
List<int> Mul_Three_List = new List<int>();
Console.WriteLine($"随机生成的n为:{n}");
for (int i = 1; i <= n; i++)
{
if (i % 2 == 0)
Even_Num_List.Add(i);
if (i % 3 == 0)
Mul_Three_List.Add(i);
if (i % 2 != 0)
Odd_Num_List.Add(i);
}
Console.Write($"1——{n}的偶数为:");
foreach (int i in Even_Num_List)
Console.Write(i + " ");
Console.Write($"\n1——{n}的奇数为:");
foreach (int i in Odd_Num_List)
Console.Write(i + " ");
Console.Write($"\n1——{n}中3的倍数为:");
foreach (int i in Mul_Three_List)
Console.Write(i + " ");
Console.ReadKey();
}
}
}
终于肝完30题了,临走前给博主点个赞呗(づ ̄3 ̄)づ╭❤~