草庐IT

C# 小练习(简单)-合集

碎碎念的肥Y 2023-04-18 原文

文章目录

1.从控制台输入一个三位数,在程序中分解这三位数,判断输入的三位数是否是水仙花数,并输出结果。水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:13 + 53+ 33 = 153)

				Console.WriteLine("请输入一个三位数:");
				int num = int.Parse(Console.ReadLine());
				int num1 = num / 100;
				int num2 = num / 10 % 10;
				int num3 = num % 10;
				if (num1 * num1 * num1 + num2 * num2 * num2 + num3 * num3 * num3 == num)
				{
				     Console.WriteLine("{0}是一个水仙花数", num);
				}
				else
				{
				    Console.WriteLine("{0}不是一个水仙花数", num);
				}

2.控制台输入任意一个数字,打印输出这个数的绝对值

				Console.WriteLine("请输入一个数:");
				int x = int.Parse(Console.ReadLine());
				if (x >= 0)
				{
				    Console.WriteLine("这个数的绝对值是" + x);
				}
				else
				{
				    x = -x;
				    Console.WriteLine("这个数的绝对值是" + x);
				}

3.定义整型变量,用于存储用户的输入。通过多重if结构判断数字的位数。1-9之间:一位数;10-99之间:两位数;100-999之间:三位数;1000-9999之间:四位数

            Console.WriteLine("请输入一个数字:");
            int a = int.Parse(Console.ReadLine());
            if (a > 0 && a < 10)
            {
                Console.WriteLine(a + "是个一位数");
            }
            else if (a >= 10 && a < 100)
            {
                Console.WriteLine(a + "是个两位数");
            }
            else if (a >= 100 && a < 1000)
            {
                Console.WriteLine(a + "是个三位数");
            }
            else if (a >= 1000 && a < 10000)
            {
                Console.WriteLine(a + "是个四位数");
            }
            else
            {
                Console.WriteLine("请输入正确的数字!");
            }

4.用switch语句模拟简单的两个数的+,-,*,/计算器

					Console.WriteLine("请输入两个数字和运算符:");
            int x = int.Parse(Console.ReadLine());
            int y = int.Parse(Console.ReadLine());
            char z = char.Parse(Console.ReadLine());
            switch (z)
            {
                case '+':
                    Console.WriteLine("{0}+{1}={2}", x, y, x + y);
                    break;
                case '-':
                    Console.WriteLine("{0}-{1}={2}", x, y, x - y);
                    break;
                case '*':
                    Console.WriteLine("{0}*{1}={2}", x, y, x * y);
                    break;
                case '/':
                    Console.WriteLine("{0}/{1}={2}", x, y, x / y);
                    break;

5.显示学生成绩等级,要求如下:

成绩高于90,则输出“A”。
成绩介于80-89之间,则输出“B”。
成绩介于70-79之间,则输出“C”。
成绩介于60-69之间,则输出“D”。
成绩低于60,则输出“E”。
 					Console.WriteLine("请输入学生成绩:");
            int grade = int.Parse(Console.ReadLine());
            if (grade >= 90)
            {
                Console.WriteLine("成绩等级为:A");
            }
            else if (grade >= 80 && grade < 90)
            {
                Console.WriteLine("成绩等级为:B");
            }
            else if (grade >= 70 && grade < 80)
            {
                Console.WriteLine("成绩等级为:B");
            }
            else if (grade >= 60 && grade < 70)
            {
                Console.WriteLine("成绩等级为:B");
            }
            else if (grade >= 0 && grade < 60)
            {
                Console.WriteLine("成绩等级为:E");
            }
            else
            {
                Console.WriteLine("请输入正确的成绩!");
            }

6.公司发放年终奖,根据公司员工的职位不同,奖金数量也不一样,具体的规定如下:

A 类:年终奖按年收入的30% 提成。
B 类:年终奖按年收入的25% 提成。
C 类:年终奖按年收入的20% 提成。
D 类:年终奖按年收入的15% 提成。
要求输入年收入以及员工类型,计算对应的年终奖金
					Console.WriteLine("请输入员工的年工资:");
            int sum = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入员工类型:");
            char type = char.Parse(Console.ReadLine());
            if (type == 'A')
            {
                Console.WriteLine("该员工的年终奖是" + sum * 0.3);
            }
            else if (type == 'B')
            {
                Console.WriteLine("该员工的年终奖是" + sum * 0.25);
            }
            else if (type == 'C')
            {
                Console.WriteLine("该员工的年终奖是" + sum * 0.2);
            }
            else if (type == 'D')
            {
                Console.WriteLine("该员工的年终奖是" + sum * 0.15);
            }
            else
            {
                Console.WriteLine("请输入正确的员工类型!");
            }

7.使用switch结构显示指定月份的天数,根据对年份和月份的判断,显示对应的天数


            Console.WriteLine("请输入年份:");
            int year = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入月份:");
            int month = int.Parse(Console.ReadLine());
            switch (month)
            {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    Console.WriteLine("{0}月有31天", month);
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    Console.WriteLine("{0}月有30天", month);
                    break;
                case 2:
                    if ((year % 4 == 0 && month % 100 != 0) || (year % 400 == 0))
                    {
                        Console.WriteLine("{0}月有29天", month);
                    }
                    else
                    {
                        Console.WriteLine("{0}月有28天", month);
                    }
                    break;
            }

8.编一个程序,首先输入一个成绩(0到100的整数),然后用if else语句判断该成绩是优、良、中、及格还是不及格。(成绩>=90为优,89>成绩>=80为良,79>成绩>=70为中,69>成绩>=60为及格,成绩<60为不及格)。

            Console.WriteLine("请输入学生成绩(0-100):");
            int a = int.Parse(Console.ReadLine());
            if (a >= 90)
            {
                Console.WriteLine("成绩为优");
            }
            else if (a >= 80 && a < 90)
            {
                Console.WriteLine("成绩为良");
            }
            else if (a >= 70 && a < 80)
            {
                Console.WriteLine("成绩为中");
            }
            else if (a >= 60 && a < 70)
            {
                Console.WriteLine("成绩为及格");
            }
            else
            {
                Console.WriteLine("成绩为不及格");
            }

9.编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和

            Console.WriteLine("请输入十个数:");
            int i = 1;
            int sum = 0;
            do
            {
                int num = int.Parse(Console.ReadLine());
                sum += num;
                i++;
            } while (i <= 10);
            Console.WriteLine("这十个数的和为:" + sum);

10.编一个程序,要求使用while语句,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录。

            Console.WriteLine("请输入用户名:");
            string name = Console.ReadLine();
            Console.WriteLine("请输入密码:");
            string code = Console.ReadLine();
            int i = 1;
            if (code != "123456")
            {
                while (code != "123456")
                {
                    Console.WriteLine("密码错误,请重试!");
                    code = Console.ReadLine();
                    i++;
                    if (code == "123456")
                    {
                        Console.WriteLine("登陆成功!");
                        break;
                    }
                    else if (i >= 3)
                    {
                        Console.WriteLine("今日错误次数已达上限!");
                        break;
                    }
                }
            }
            else
            {
                Console.WriteLine("登陆成功!");
            }

11.斐波那契数列的前二项是0和1,且每一个后继项是前二项的和。编一个程序,输出项值不大于100的斐波那契数列。(斐波那契数列为1,1,2,3,5,8,13·····)

            int x = 1, y = 1, z = 0;
            for (int i = 1; x + y < 100; i++)
            {
                z = x + y;
                x = y;
                y = z;
            }
            Console.WriteLine(z);

12.编一个程序,用while循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个的数,也多余一个,请问这篮鸡蛋至少有多少个。

            int i = 2;
            while (true)
            {
                if (i % 2 == 1 && i % 3 == 1 && i % 4 == 1)
                {
                    break;
                }
                i++;
            }
            Console.WriteLine("这个篮子里有" + i + "个鸡蛋");

13.编一个程序,利用二重for循环语句,打印出九九乘法口诀表。

            for (int i = 1; i <= 9; i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    Console.Write("{0}*{1}={2}\t", j, i, j * i);
                }
                Console.WriteLine();
            }

14.编一个程序,定义一个有10个元素的数组,使用for循环语句,从键盘上输入10名同学的数学成绩,分别求出最高分和最低分,并且求出10名同学的数学平均成绩。

            Console.WriteLine("请输入十名同学的成绩:");
            int[] a = new int[10];
            int max = a[0];
            int sum = 0;
            for (int i = 0; i < a.Length; i++)
            {
                int x = int.Parse(Console.ReadLine());
                a[i] = x;
                if (a[i] >= max)
                {
                    max = a[i];
                }
                sum += a[i];
            }
            int min = a[0];
            for (int i = 0; i < a.Length; i++)
            {
                if (a[i] <= min)
                {
                    min = a[i];
                }
            }
            Console.WriteLine("最高分是:{0},最低分是:{1},平均分是:{2}", max, min, sum / 10);

15.编一个程序,用for循环语句,从键盘输入10个整数,分别求出它们中的正数之和,以及负数之和。

            Console.WriteLine("请输入十个数:");
            int sum = 0, sum1 = 0;
            for (int i = 1; i <= 10; i++)
            {
                int num = int.Parse(Console.ReadLine());
                if (num >= 0)
                {
                    sum += num;
                }
                else
                {
                    sum1 += num;
                }
            }
            Console.WriteLine("正数和:" + sum);
            Console.WriteLine("负数和:" + sum1);

16.编一个程序,定义数组,用for循环语句,顺序输入10个整数,然后逆序输出这10个数。(顺:1,3,2,6,5,4;逆:4,5,6,2,3,1)

            Console.WriteLine("请输入十个数:");
            int[] a = new int[10];
            for (int i = 0; i < a.Length; i++)
            {
                a[i] = int.Parse(Console.ReadLine());
            }
            Console.WriteLine("逆序的是:");
            for (int k = 9; k >= 0; k--)
            {
                Console.WriteLine(a[k]);
            }

17.建立一个数组,里面最少有10个整数并且大小顺序随机,使用for循环实现“冒泡排序”(从大到小或者从小到大的排列这10个整数)

            int[] num = new int[] { 3, 6, 1, 5, 2, 10, 9, 8, 4, 7 };
            int t;
            for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    if (num[j] > num[i])
                    {
                        t = num[j];
                        num[j] = num[i];
                        num[i] = t;
                    }
                }
            }
            Console.WriteLine("从小到大排列是:");
            for (int k = 0; k < 10; k++)
            {
                Console.WriteLine(num[k]);
            }

18.一个控制台应用程序,要求完成以下功能:

1.接收一个整数n。
2.如果接收的值n为正数,输出1~n间的全部整数。
3.如果接收的值n为负值,用break或者return退出程序。
4.继续接收下一个整数。
            Console.WriteLine("请输入一个数:");
            int n = int.Parse(Console.ReadLine());
            while (true)
            {
                if (n >= 0)
                {
                    for (int i = 1; i < n; i++)
                    {
                        Console.WriteLine(i);
                    }
                }
                else
                {
                    break;

                }
                n = int.Parse(Console.ReadLine());
            }

19. 求1到100之间所有能被3整除,但不能被5整除的数的和。

int sum = 0;
            for (int i = 1; i <= 100; i++)
            {
                if (i % 3 == 0 && i % 5 != 0)
                {
                    sum += i;
                }
            }
            Console.WriteLine(sum);

20.用循环输出下面图案 ,例如:请输入行数10

*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
            Console.WriteLine("请输入行数:");
            int row = int.Parse(Console.ReadLine());
            for (int i = 1; i <= row; i++)
            {
                for (int j = 1; j <= row - i; j++)
                {
                    Console.Write(" ");
                }
                for (int k = 1; k <= 2 * i - 1; k++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }


📢欢迎点赞👍 收藏🌟 留言💬
📢单纯分享日常中的小练习,技术有限,如果发现有错欢迎指导

有关C# 小练习(简单)-合集的更多相关文章

  1. ruby - 简单获取法拉第超时 - 2

    有没有办法在这个简单的get方法中添加超时选项?我正在使用法拉第3.3。Faraday.get(url)四处寻找,我只能先发起连接后应用超时选项,然后应用超时选项。或者有什么简单的方法?这就是我现在正在做的:conn=Faraday.newresponse=conn.getdo|req|req.urlurlreq.options.timeout=2#2secondsend 最佳答案 试试这个:conn=Faraday.newdo|conn|conn.options.timeout=20endresponse=conn.get(url

  2. c# - 如何在 ruby​​ 中调用 C# dll? - 2

    如何在ruby​​中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL

  3. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  4. C# 到 Ruby sha1 base64 编码 - 2

    我正在尝试在Ruby中复制Convert.ToBase64String()行为。这是我的C#代码:varsha1=newSHA1CryptoServiceProvider();varpasswordBytes=Encoding.UTF8.GetBytes("password");varpasswordHash=sha1.ComputeHash(passwordBytes);returnConvert.ToBase64String(passwordHash);//returns"W6ph5Mm5Pz8GgiULbPgzG37mj9g="当我在Ruby中尝试同样的事情时,我得到了相同sha

  5. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  6. ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么? - 2

    我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=

  7. 【Java 面试合集】HashMap中为什么引入红黑树,而不是AVL树呢 - 2

    HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候

  8. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  9. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  10. Qt Designer的简单使用 - 2

    在前面两节的例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用C++代码编写的。窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和大小了。用C++代码编写图形界面的问题就是不直观,因此Qt项目开发了专门的可视化图形界面编辑器——QtDesigner(Qt设计师)。通过QtDesigner就可以很方便地创建图形界面文件*.ui,然后将ui文件应用到源代码里面,做到“所见即所得”,大大方便了图形界面的设计。本节就演示一下QtDesigner的简单使用,学习拖拽控件和设置控件属性,并将ui文件应用到Qt程序代码里。使用QtDesigner设计界面在开始菜单中找到「Q

随机推荐