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

news2025/2/5 4:46:16

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于开源AI智能名片2 + 1链动模式S2B2C商城小程序视角下的个人IP人设构建研究

摘要&#xff1a;本文深入探讨在开源AI智能名片2 1链动模式S2B2C商城小程序的应用场景下&#xff0c;个人IP人设构建的理论与实践。通过剖析个人IP人设定义中的“诉求”“特质”“可感知”三要素&#xff0c;结合该小程序特点&#xff0c;阐述其对个人IP打造的影响与推动作用&…

刷题汇总一览

文章目录 贪心动态规划数据结构滑动窗口与双指针前缀和动态规划 本题单设计力扣、牛客等多个刷题网站 贪心 贪心后悔 徒步旅行中的补给问题 LCP 30.魔塔游戏 题目使用到的思想解题分析徒步旅行中的补给问题每次我们都加入当前补给点的k个选择&#xff0c;同时进行升序排序&am…

Jupyter Lab的使用

Lab与Notebook的区别: Jupyter Lab和Jupyter notebook有什么区别&#xff0c;这里找到一篇博客不过我没细看&#xff0c; Jupyter Lab和Jupyter Notebook的区别 - codersgl - 博客园 使用起来Lab就是一个更齐全、功能更高级的notebook&#xff0c; 启用滚动输出: 有时候一个…

SpringBoot中关于knife4j 中的一些相关注解

1、效果图 对比可以明显的看到加了注解与没有加注解所表现出来的效果不同&#xff08;加了注解的更加明了清晰&#xff09; 2、实现效果 Tag注解‌用于为测试方法或测试类添加标签&#xff0c;以便在执行测试时根据标签进行过滤。使用Tag注解可以更灵活地控制测试的执行&#…

知识管理系统助力企业信息共享与创新思维的全面提升研究

内容概要 知识管理系统的引入极大地改变了企业内部的信息流程与创新机制。通过有效整合与管理组织内的知识资源&#xff0c;这些系统不仅降低了信息孤岛的现象&#xff0c;还提升了员工之间的协作能力。企业在信息共享方面&#xff0c;通过知识管理系统构建了一个透明、高效的…

LLM - 基于LM Studio本地部署DeepSeek-R1的蒸馏量化模型

文章目录 前言开发环境快速开始LM Studio简单设置模型下载开始对话 模型选择常见错误最后 前言 目前&#xff0c;受限于设备性能&#xff0c;在本地部署的基本都是DeepSeek-R1的蒸馏量化模型&#xff0c;这些蒸馏量化模型的表现可能并没有你想象的那么好。绝大部分人并不需要本…

本地部署 DeepSeek-R1:简单易上手,AI 随时可用!

&#x1f3af; 先看看本地部署的运行效果 为了测试本地部署的 DeepSeek-R1 是否真的够强&#xff0c;我们随便问了一道经典的“鸡兔同笼”问题&#xff0c;考察它的推理能力。 &#x1f4cc; 问题示例&#xff1a; 笼子里有鸡和兔&#xff0c;总共有 35 只头&#xff0c;94 只…

对象的实例化、内存布局与访问定位

一、创建对象的方式 二、创建对象的步骤: 一、判断对象对应的类是否加载、链接、初始化: 虚拟机遇到一条new指令&#xff0c;首先去检查这个指令的参数能否在Metaspace的常量池中定位到一个类的符号引用&#xff0c;并且检查这个符号引用代表的类是否已经被加载、解析和初始化…

OpenAI推出Deep Research带给我们怎样的启示

OpenAI 又发新产品了&#xff0c;这次是面向深度研究领域的智能体产品 ——「Deep Research」&#xff0c;貌似被逼无奈的节奏… 在技术方面&#xff0c;Deep Research搭载了优化后o3模型并通过端到端强化学习在多个领域的复杂浏览和推理任务上进行了训练。因没有更多的技术暴露…

K8S学习笔记-------1.安装部署K8S集群环境

1.修改为root权限 #sudo su 2.修改主机名 #hostnamectl set-hostname k8s-master01 3.查看网络地址 sudo nano /etc/netplan/01-netcfg.yaml4.使网络配置修改生效 sudo netplan apply5.修改UUID&#xff08;某些虚拟机系统&#xff0c;需要设置才能生成UUID&#xff09;#…

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户登录

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f3af;1.登录-持久层 &…

【Deep Seek本地化部署】模型实测:规划求解python代码

目录 前言 一、实测 1、整数规划问题 2、非线性规划问题 二、代码正确性验证 1、整数规划问题代码验证 2、非线性规划问题代码验证 三、结果正确性验证 1、整数规划问题结果正确性验证 2、非线性规划问题正确性验证 四、整数规划问题示例 后记 前言 模型&#xff…

【游戏设计原理】98 - 时间膨胀

从上文中&#xff0c;我们可以得到以下几个启示&#xff1a; 游戏设计的核心目标是让玩家感到“时间飞逝” 游戏的成功与否&#xff0c;往往取决于玩家的沉浸感。如果玩家能够完全投入游戏并感受到时间飞逝&#xff0c;说明游戏设计在玩法、挑战、叙事等方面达到了吸引人的平衡…

C语言基础系列【1】第一个C程序:Hello, World!

C语言的历史与特点 历史背景 C语言起源于20世纪70年代&#xff0c;最初是由美国贝尔实验室的Dennis Ritchie和Ken Thompson为了开发UNIX操作系统而设计的一种编程语言。在UNIX系统的开发过程中&#xff0c;他们发现原有的B语言&#xff08;由Thompson设计&#xff09;在功能和…

【LLM】DeepSeek-R1-Distill-Qwen-7B部署和open webui

note DeepSeek-R1-Distill-Qwen-7B 的测试效果很惊艳&#xff0c;CoT 过程可圈可点&#xff0c;25 年应该值得探索更多端侧的硬件机会。 文章目录 note一、下载 Ollama二、下载 Docker三、下载模型四、部署 open webui 一、下载 Ollama 访问 Ollama 的官方网站 https://ollam…

go-zero学习笔记(三)

利用goctl生成rpc服务 编写proto文件 // 声明 proto 使用的语法版本 syntax "proto3";// proto 包名 package demoRpc;// golang 包名(可选) option go_package "./demo";// 如需为 .proto 文件添加注释&#xff0c;请使用 C/C 样式的 // 和 /* ... */…

C# 修改项目类型 应用程序程序改类库

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

地址查询API接口:高效查询地址信息,提升数据处理效率

地址查询各省市区API接口 地址查询是我们日常生活中经常遇到的一个需求&#xff0c;无论是在物流配送、地图导航还是社交网络等应用中&#xff0c;都需要通过地址来获取地理位置信息。为了满足这个需求&#xff0c;我们可以使用地址查询API接口来高效查询地址信息&#xff0c;提…

图 、图的存储

图的基本概念&#xff1a; 图g由顶点集v和边集e组成&#xff0c;记为g&#xff08;v&#xff0c;e&#xff09; 用|v|表示图g中顶点的个数&#xff0c;也称图g的阶&#xff0c;用|e|表示图g中边的条数 线性表可以是空表&#xff0c;树可以是空树&#xff0c;但图不可以是空&…

【数据结构】(4) 线性表 List

一、什么是线性表 线性表就是 n 个相同类型元素的有限序列&#xff0c;每一个元素只有一个前驱和后继&#xff08;除了第一个和最后一个元素&#xff09;。 数据结构中&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列。 二、什么是 List List 是 Java 中的线性…