C# 精炼题18道题(类,三木运算,Switch,计算器)

1.数组元素和

2.数组元素乘积

3.数组元素平均数

4.数组中最大值

5.数组中的偶数

6.数组中的阶乘

7.数组反转

8.字符串反转

9.回文字符串

10.检查回文

11.最小最大值

12.找素数

13.字符串中的最长无重复字符串

14.字符串去重

15.数组中计算两数之和

16.数字到字符串转换(56=="fifty-six")

17.简单的日期格式化

18.简单计算器


 int[] number = { 1, 2, 3,5,6,11 };
1.
 Console.WriteLine("数组的和是"+Arraynum.Numarry(number));
2.
 Console.WriteLine("数组的乘和是"+Arraynum.Num1(number));
3.
 Console.WriteLine("平均后保留两位小数是"+(double)Math.Round((Arraynum.Numarry(number)/(double)(number.Length)),2));

 Arraynum arr=new Arraynum();
4.
 Console.WriteLine("数组的平均数是"+arr.Numaverage(number));
5.
 Console.WriteLine("数组的最大值是"+arr.MaxValue(number));

 ArrayList arrayListc =arr.Arraylista(number);
6.
 Console.Write("数组中的偶数是");
 foreach(int x in arrayListc)
 {
     Console.Write(x+"\t");
 }
 Console.WriteLine();
7.
 arr.ArrayJiecheng(number);
8.
 arr.NumberZ(number);
9.
 Console.WriteLine("\n"+"请输入字符串");
 string str1=Console.ReadLine();
 arr.ReverString1(str1);
10.
 arr.IsPalindrome(str1);
11.
 arr.Bothvalue(number);
12.
 Console.WriteLine("请输入1-10之间的数");
 int number5=Convert.ToInt32(Console.ReadLine());
 arr.Mathmatics(number5);
13.
 arr.LengthOfstring(str1);
14.
 Console.WriteLine("请输入字符串");
 string input=Console.ReadLine();
 arr.ReverQu(input);
15.
 int[] num = {1,5,6,8,11,4 };
 Console.WriteLine("请输入你想要的值");
 int large=int.Parse(Console.ReadLine());
 arr.Fintwonum(num, large);
16.
 Console.WriteLine("请输入1000以内的数字");
 int numbers1=int.Parse(Console.ReadLine());
 NumberTowards numberTowards = new NumberTowards();
 numberTowards.ConvertNumberToWords(numbers1);
17.
  Date date=new Date();
  date.FormatDate();
18.
 double o;
 char z;
 double y;
 Computer.Num(out o,out z,out y);
--------------------------------------------------------------------------
 class Arraynum
 {
     #region 数组元素和
     public static int Numarry(int[] array)
     {
         int num = 0;
         foreach (int i in array)
         {
             num += i;
         }
         return num;
     }
     #endregion
     #region 数组元素乘积
     public static int Num1(int[] array)
     {
         int num = 1;
         foreach (int i in array)
         {
             num *= i;
         }
         return num;
     }
     #endregion
     #region 数组元素平均数
     public double Numaverage(int[] array)
     {
         double sum = 0;
         foreach (int i in array)
         {
             sum += i;
         }
         double z=Math.Round((sum/(double)array.Length),2);
         return z;
     }
     #endregion
     #region 数组中最大的值
     public int MaxValue (int[]arry)
     {
         int max = arry[0];
         for (int i = 1; i < arry.Length; i++)
         {

             if (arry[i] > max)
             {
                 max = arry[i];
             }
         }
         return max;
     }
     #endregion
     #region 数组中的偶数1
     public static void  Arraylist(int[] array)
     {
         ArrayList arrayList = new ArrayList();
         foreach (int i in array)
         {
             if (i % 2 == 0)
             {
                 arrayList.Add(i);
             }
         }
         Console.Write("数组中偶数是");
         foreach (int i in arrayList)
         {
             
             Console.Write(  i + "\t");
         }
     }
     #endregion
     #region 数组中偶数2
     public  ArrayList Arraylista(int[]array)
     {
         ArrayList arrayListb = new ArrayList();
         foreach (var item in array)
         {
             if (item % 2 == 0)
             {
                 arrayListb.Add(item);
             }
         }
         return arrayListb;
     }
     #endregion
     #region 数组的阶乘
     public void  ArrayJiecheng(int[]array)
     {
        for (int i = 0; i < array.Length; i++)
         {
             if(array[i] <0)
             {
                 throw new Exception($"{array[i]}不符合必须是非负整数");
             }
             long JC = 1;
             for(int j = 1; j < array[i]+1;j++)
             {
                 JC= JC * j;
               
             }
             Console.Write(array[i] + "的阶乘是" +JC+"\t");
         }
     }
     #endregion
     #region 数组反转
     public void NumberZ(int[]array)
     {
         Console.Write("\n"+"反转后的数组是:");
         string s = "";
         for(int i=array.Length-1; i>=0; i--)
         {
             s+= array[i];
         }
         Console.Write(s);
     }
     #endregion
     #region 字符串反转
     public void ReverString1(string str)
     {
         char[] chars = str.ToCharArray();
         Array.Reverse(chars);
         string ab = "";
         
         Console.Write("反转后的字符串是:");
         foreach (char c in chars)
         {
           Console.Write(c);
             ab= ab + c;
         }
     }
     #endregion
     #region 字符串反转2
     public string ReverString(string str4)
     {
         char[] chars = str4.ToCharArray();
         Array.Reverse(chars);
         string ab = "";
         foreach (char c in chars)
         {
             Console.Write(c);
             ab = ab + c;
         }
         return ab;
     }
     #endregion
     #region 回文字符串
     public bool IsString(string str2)
     {
         int left = 0;
         int right =str2.Length-1;
         while (left < right)
         {
             if (str2[left] != str2[right])
             {
                 return false;
             }
             left++;
             right--;
         }
         return true;
     }
     #endregion
     #region 检查回文
     public void  IsPalindrome(string str)
     {
         Console.WriteLine();
         string reversedStr = ReverString(str);
         if( str == reversedStr)
         {
             Console.WriteLine($"是回文");
         }
         else
         {
             Console.WriteLine($"不是回文");
         }
     }
     #endregion
     #region 最大最小值
     public void Bothvalue(int[]array)
     {
         int Max = array[0];
         int Min=array[0];
         foreach (int i in array)
         {
             if(i > Max)
             {
                 Max = i;
             }
             if (i < Min)
             {
                 Min = i;
             }
         }
         Console.Write($"最大值是{Max},最小值是{Min}");
     }
     #endregion
     #region   找素数
     public void Mathmatics(int number5)
     {
         switch(number5)
         {
             case 2:
             case 3:
             case 5:
             case 7:
                 Console.WriteLine("你输入的是素数");
                 break;
             case 0:
             case 1:
             case 6:
             case 4:
             case 8:
             case 9:
             case 10:
                 Console.WriteLine("不是素数");
                 break;
             default:
                 break;
         }
     }
     #endregion
     #region 字符串中的最长无重复子串
     public void  LengthOfstring(string str)
     {
        Dictionary<char,int> dict = new Dictionary<char,int>();
         int left = 0, maxLength = 0;
         for(int right=0;right<str.Length;right++)
         {
            if(dict.ContainsKey(str[right]))
            {
                 left=Math.Max(left, dict[str[right]]+1);
            }
            dict[str[right]] = right;
             maxLength=Math.Max(maxLength, right-left+1);
         }
         Console.WriteLine("字符串中的最长无重复子串的最大值是"+maxLength);

     }
     #endregion
     #region 字符串去重
     public void ReverQu(string str)
     {
         ArrayList array2 = new ArrayList();
         foreach(char  m in str)
         {
             if(!array2.Contains(m))
             {
                 array2.Add(m);
             }
         }
        for(int i=0;i<array2.Count;i++)
        {
             Console.Write(array2[i]);
        }
     }
     #endregion
     #region 数组中计算两数之和
     public void Fintwonum(int[]nums,int large)
     {
         Dictionary<int,int> dict = new Dictionary<int,int>();
         for(int i=0;i<nums.Length;i++)
         {
             int comput=large-nums[i];
             if (dict.ContainsKey(comput))
             {
                 Console.WriteLine($"有两数之和,这两个数的索引是{dict[comput]}和{i}");
             }
             if (!dict.ContainsKey(nums[i]))
             {
                 dict[nums[i]] = i;
             }
         }
         throw new Exception("Sorry,you have no idea");
     }
     #endregion

 }
   #region 数字到字符串转换(56=="fifty-six")
   class NumberTowards
   {
       private  readonly List<string> numbers = new List<string>
       {
            "zero", "one", "two", "three", "four",
           "five", "six", "seven", "eight", "nine",
           "ten", "eleven", "twelve", "thirteen", "fourteen",
           "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"
       };
       private readonly List<string> ten = new List<string>
       {
            "", "", "twenty", "thirty", "forty",
           "fifty", "sixty", "seventy", "eighty", "ninety"
       };
       public void ConvertNumberToWords(int number)
       {
         
           if (number<1||number>999)
           {
               throw new ArgumentException("Number must be between 1 and 999");
           }
           if(number>=0&&number<20)
           {
               Console.WriteLine($"转换后是{numbers[number]}");
           }
           if(number>=20&&number<100)
           {
               int tenpart = number / 10;
               int ge = number % 10;

               Console.WriteLine($"转换后是{ten[tenpart]}{(ge > 0 ? "-" + numbers[ge]:"")}");
           }
           if(number>=100&&number<1000)
           {
               int hunderdpart=number / 100;
               int remainder = number % 100;
               int tender = number / 10 % 10;
               int geder = number % 10;
               string result = numbers[hunderdpart] +"-"+ "hundred";
               if(remainder>=20)
               {
                   result +=" "+ "and"+" " + (ten[tender] + (geder > 0 ? "-" + numbers[geder]:""));
               }
               else if(remainder>=0&&remainder<20)
               {
                   result +=" "+ "and"+" " + numbers[remainder];
               }
               Console.WriteLine($"转换后是{result}");
           }
       }
   }
   #endregion
   #region 简单的日期格式化
   class Date
   {
       public void  FormatDate()
       {
           DateTime dateTime = DateTime.Now;
           string year=dateTime.Year.ToString();
           string month=dateTime.Month.ToString();
           string day=dateTime.Day.ToString();
           Console.WriteLine($"{year}年{month}月{day}日");
       }
   }
   #endregion
   #region 简单的计算器
   class Computer
   {
       public static void  Num(out double a,out char s,out double b)
       {
           #region 方法1
           //switch (s)
           //{
           //    case '+':
           //        Console.WriteLine($"{a}+{b}的结果是{a + b}");
           //        break;
           //    case '-':
           //        Console.WriteLine($"{a}-{b}的结果是{a - b}");
           //        break;
           //    case '*':
           //        Console.WriteLine($"{a}*{b}的结果是{a * b}");
           //        break;
           //    case '/':
           //        if (b != 0)
           //            Console.WriteLine($"{a}/{b}的结果是{a / b}");
           //        else
           //            throw new Exception("除数不能为0");
           //        break;
           //    default:
           //        throw new Exception("运算符只有 + - * /");
           //}
           #endregion
           Console.WriteLine("请输入第一个数");
            a=double.Parse(Console.ReadLine());
           Console.WriteLine("请输入符号");
                A:
               s =char.Parse(Console.ReadLine());
               if(s!='+'&&s!='-'&&s!='*'&&s!='/')
               {
                   Console.WriteLine ("请输入正确的符号");
                  goto A;
               }
               Console.WriteLine("请输入第二个数");
                B:
                b =double.Parse(Console.ReadLine());
               if(s=='/'&&b==0)
               {
                   Console.WriteLine("除数不能等于0,请重新输入");
               goto B;
               }
               if(s=='+')
               {
               Console.WriteLine("结果是"+(a+b));
               }
               else if(s=='-')
               {
               Console.WriteLine("结果是" + (a - b));
               }
               else if(s=='*')
               {
               Console.WriteLine("结果是" + (a * b));
               }
               else
               {
               Console.WriteLine("结果是" + (double)Math.Round((a /b),2));
               }
       }
   }
   #endregion

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/963618.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

129.求根节点到叶节点数字之和(遍历思想)

Problem: 129.求根节点到叶节点数字之和 文章目录 题目描述思路复杂度Code 题目描述 思路 遍历思想(利用二叉树的先序遍历) 直接利用二叉树的先序遍历&#xff0c;将遍历过程中的节点值先利用字符串拼接起来遇到根节点时再转为数字并累加起来&#xff0c;在归的过程中&#xf…

智能小区物业管理系统打造高效智能社区服务新生态

内容概要 随着城市化进程的不断加快&#xff0c;智能小区物业管理系统的出现&#xff0c;正逐步改变传统物业管理的模式&#xff0c;为社区带来了崭新的管理理念和服务方式。该系统不仅提升了物业管理效率&#xff0c;还加强了业主与物业之间的互动&#xff0c;为每位居民提供…

本地项目上传到码云

本地项目上传到码云 写在前面1. 系统安装git环境2. 创建仓库3. 开始上传3.1 创建新的远程仓库3.2 在项目的文件夹用git打开3.3 删除本地的 .git 目录3.4 初始化新的 Git 仓库3.5 添加远程仓库3.6 添加项目文件3.7 提交更改3.8 推送到远程仓库3.9 验证 4. 完整的步骤总结写在最后…

使用 DeepSeek-R1 与 AnythingLLM 搭建本地知识库

一、下载地址Download Ollama on macOS 官方网站&#xff1a;Ollama 官方模型库&#xff1a;library 二、模型库搜索 deepseek r1 deepseek-r1:1.5b 私有化部署deepseek&#xff0c;模型库搜索 deepseek r1 运行cmd复制命令&#xff1a;ollama run deepseek-r1:1.5b 私有化…

maven mysql jdk nvm node npm 环境安装

安装JDK 1.8 11 环境 maven环境安装 打开网站 下载 下载zip格式 解压 自己创建一个maven库 以后在idea 使用maven时候重新设置一下 这三个地方分别设置 这时候maven才算设置好 nvm 管理 npm nodejs nvm下载 安装 Releases coreybutler/nvm-windows GitHub 一键安装且若有…

【大模型专栏—基础篇】智能体入门

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本文讲解智能体入门&#xff0c;期待与你一同探索、学习、进步&#xff0c;一起卷起来叭&#xff01; &#x1f514;文章同步存在格式问题&#xff0c;还请见谅&#xff01; 目…

深入理解linux中的文件(上)

1.前置知识&#xff1a; &#xff08;1&#xff09;文章 内容 属性 &#xff08;2&#xff09;访问文件之前&#xff0c;都必须打开它&#xff08;打开文件&#xff0c;等价于把文件加载到内存中&#xff09; 如果不打开文件&#xff0c;文件就在磁盘中 &#xff08;3&am…

算法题(55):用最少数量的箭引爆气球

审题&#xff1a; 本题需要我们找到最少需要的箭数&#xff0c;并返回 思路: 首先我们需要把本题描述的问题理解准确 &#xff08;1&#xff09;arrow从x轴任一点垂直射出 &#xff08;2&#xff09;一旦射出&#xff0c;无限前进 也就是说如果气球有公共区域&#xff08;交集&…

21款炫酷烟花代码

系列专栏 《Python趣味编程》《C/C趣味编程》《HTML趣味编程》《Java趣味编程》 写在前面 Python、C/C、HTML、Java等4种语言实现21款炫酷烟花的代码。 Python Python烟花① 完整代码&#xff1a;Python动漫烟花&#xff08;完整代码&#xff09; ​ Python烟花② 完整…

【最长上升子序列Ⅱ——树状数组,二分+DP,纯DP】

题目 代码&#xff08;只给出树状数组的&#xff09; #include <bits/stdc.h> using namespace std; const int N 1e510; int n, m; int a[N], b[N], f[N], tr[N]; //f[i]表示以a[i]为尾的LIS的最大长度 void init() {sort(b1, bn1);m unique(b1, bn1) - b - 1;for(in…

k8s支持自定义field-selector spec.hostNetwork过滤

好久没写博客啦&#xff0c;年前写一个博客就算混过去啦&#x1f602; 写一个小功能&#xff0c;对于 Pod&#xff0c;在没有 label 的情况下&#xff0c;支持 --field-selector spec.hostNetwork 查询 Pod 是否为 hostNetwork 类型&#xff0c;只为了熟悉 APIServer 是如何构…

GNN-Attention——基于动态图神经网络GNN和注意力机制Attention的时间序列预测

1 数据集介绍 ETT(电变压器温度)&#xff1a;由两个小时级数据集&#xff08;ETTh&#xff09;和两个 15 分钟级数据集&#xff08;ETTm&#xff09;组成。它们中的每一个都包含 2016 年 7 月至 2018 年 7 月的七种石油和电力变压器的负载特征。 traffic(交通) &#xff1a;描…

ASP.NET Core与配置系统的集成

目录 配置系统 默认添加的配置提供者 加载命令行中的配置。 运行环境 读取方法 User Secrets 注意事项 Zack.AnyDBConfigProvider 案例 配置系统 默认添加的配置提供者 加载现有的IConfiguration。加载项目根目录下的appsettings.json。加载项目根目录下的appsettin…

c++可变参数详解

目录 引言 库的基本功能 va_start 宏: va_arg 宏 va_end 宏 va_copy 宏 使用 处理可变参数代码 C11可变参数模板 基本概念 sizeof... 运算符 包扩展 引言 在C编程中&#xff0c;处理不确定数量的参数是一个常见的需求。为了支持这种需求&#xff0c;C标准库提供了 &…

Q#使用教程

Q# 是一种用于量子计算的编程语言&#xff0c;主要用于编写量子算法。 1. 环境配置 安装vscode2017以上 QDK下载地址&#xff1a;Azure Quantum Development Kit (QDK) - Visual Studio Marketplace 将下载好的QDK作为拓展配置到vscode里面。 2.代码 import Microsoft.Qu…

万字长文深入浅出负载均衡器

前言 本篇博客主要分享Load Balancing&#xff08;负载均衡&#xff09;&#xff0c;将从以下方面循序渐进地全面展开阐述&#xff1a; 介绍什么是负载均衡介绍常见的负载均衡算法 负载均衡简介 初识负载均衡 负载均衡是系统设计中的一个关键组成部分&#xff0c;它有助于…

云原生(五十三) | SQL查询操作

文章目录 SQL查询操作 一、数据库DDL操作 1、登陆数据库 2、创建DB数据库 二、数据表DDL操作 1、创建数据表 2、RDS中SQL查询操作 三、SQL查询操作 1、RDS中SQL查询操作 SQL查询操作 一、数据库DDL操作 1、登陆数据库 2、创建DB数据库 创建一个普通账号&#xff0c…

potplayer字幕

看视频学习&#xff0c;实时字幕可以快速过滤水字数阶段&#xff0c;提高效率&#xff0c;但是容易错过一些信息。下面就是解决这一问题。 工具ptoplayer 一.生成字幕 打开学习视频&#xff0c;右键点击视频画面&#xff0c;点选字幕。勾选显示字幕。点选创建有声字幕&#…

TensorFlow简单的线性回归任务

如何使用 TensorFlow 和 Keras 创建、训练并进行预测 1. 数据准备与预处理 2. 构建模型 3. 编译模型 4. 训练模型 5. 评估模型 6. 模型应用与预测 7. 保存与加载模型 8.完整代码 1. 数据准备与预处理 我们将使用一个简单的线性回归问题&#xff0c;其中输入特征 x 和标…

langchain基础(二)

一、输出解析器&#xff08;Output Parser&#xff09; 作用&#xff1a;&#xff08;1&#xff09;让模型按照指定的格式输出&#xff1b; &#xff08;2&#xff09;解析模型输出&#xff0c;提取所需的信息 1、逗号分隔列表 CommaSeparatedListOutputParser&#xff1a;…