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

news/2025/2/4 4:58:55/

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 数组中的偶数1public 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 数组中偶数2public  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 字符串反转2public 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("运算符只有 + - * /");//}#endregionConsole.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.ppmy.cn/news/1569144.html

相关文章

MATLAB基础应用精讲-【数模应用】梯度直方图(HOG)(附C++和python代码实现)(二)

目录 前言 几个高频面试题目 HOG与SIFT区别 边缘特征与梯度方向直方图的关系 算法原理 什么是HOG 图像中像素点的梯度计算 为每个cell构造梯度方向直方图HOG 数学模型 方向梯度直方图计算步骤 第一步:预处理 第二步:计算梯度图像 第三步:在8*8的网格中计算梯度…

Rust 的基本类型有哪些,他们存在堆上还是栈上,是否可以COPY?

Rust 的基本类型主要包括以下几类&#xff1a; 1. 整数类型&#xff08;Integer&#xff09; Rust 提供了有符号和无符号的整数类型&#xff1a; 有符号整数&#xff08;i8, i16, i32, i64, i128, isize&#xff09;无符号整数&#xff08;u8, u16, u32, u64, u128, usize&a…

爱快 IK-X9 吸顶AP 简单开箱评测和拆解,三频WiFi7,BE5000,2.5G网口

爱快&#xff08;iKuai&#xff09; IK-X9 三频高密度吸顶AP 简单开箱评测和拆解&#xff0c;三频Wi-Fi7&#xff08;2.4GHz&#xff1a;688Mbps、5.1GHz&#xff1a;2882Mbps、5.8GHz&#xff1a;1441Mbps&#xff09;&#xff0c;BE5000&#xff0c;2.5G网口 用的爱快系统做…

一文了解DeepSeek

1. DeepSeek 的起源 创立时间&#xff1a;DeepSeek 于 2023 年由中国的梁文锋创立。 V3 模型训练成本&#xff1a;最终训练成本为 600 万美元。 开源&#xff1a;DeepSeek 提供开源版本。 流行度&#xff1a;DeepSeek R1 模型成为 Apple 应用商店中下载量最高的应用。 2. …

Anaconda使用教程 如何conda配置多版本Python环境

配置anaconda参考anaconda的安装和使用&#xff08;管理python环境看这一篇就够了&#xff09;-CSDN博客 Anaconda使用教程 主要用的两个为Anaconda Prompt 和Anaconda Navigator 打开cmd 第一次安装配置好conda的得先执行 conda init才能用 以后的创建环境和环境切换&…

OpenAI 实战进阶教程 - 第一节:OpenAI API 架构与基础调用

目标 掌握 OpenAI API 的基础调用方法。理解如何通过 API 进行内容生成。使用实际应用场景帮助零基础读者理解 API 的基本用法。 一、什么是 OpenAI API&#xff1f; OpenAI API 是一种工具&#xff0c;允许开发者通过编程方式与 OpenAI 的强大语言模型&#xff08;例如 gpt-…

React中useState()钩子和函数式组件底层渲染流程详解

useState()钩子底层渲染流程 React中useState的底层渲染机理。首先&#xff0c;我知道useState是React Hooks的一部分&#xff0c;用于在函数组件中添加状态。但底层是如何工作的呢&#xff1f;可能涉及到React的调度器、Fiber架构以及闭包等概念。 首先&#xff0c;React使用F…

c++ map/multimap容器 学习笔记

1 map的基本概念 简介&#xff1a; map中所有的元素都是pair pair中第一个元素是key&#xff08;键&#xff09;&#xff0c;第二个元素是value&#xff08;值&#xff09; 所有元素都会根据元素的键值自动排序。本质&#xff1a; map/multimap 属于关联式容器&#xff0c;底…