C# —— 基础语法练习30题(含答案)

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();
        }  
    }
}

  1. 从键盘循环接收字符串,判断其是否可以转换成日期,若可以则以长格式显示(“**** 年** 月** 日”),若不可以则显示提示信息。

在这里插入图片描述
代码如下:

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 ̄)づ╭❤~

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值