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

文章目录

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


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

  • 13
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
1. 声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。扩展(*):不使用第三个变量如何交换? 2. 用方法来实现:将上题封装一个方法来做,方法有两个参数分别为num1,num2,将num1与num2交换。提示:方法有两个参数n1,n2,在方法中将n1与n2进行交换,使用ref。(*) 3. 请用户输入一个字符串,计算字符串中的字符个数,并输出。 4. 用方法来实现:计算两个数的最大值。思考:方法的参数?返回值?扩展(*):计算任意多个数间的最大值(提示:使用可变参数,params)。 5. 用方法来实现:计算1-100之间的所有整数的和。 6. 用方法来实现:计算1-100之间的所有奇数的和。 7. 用方法来实现:判断一个给定的整数是否为“质数”。 8. 用方法来实现:计算1-100之间的所有质数(素数)的和。 9. 用方法来实现:有一个整数数组:{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 },找出其中最大值,并输出。不能调用数组的Max()方法。 10. 用方法来实现:有一个字符串数组:{ "马龙", "迈克尔乔丹", "雷吉米勒", "蒂姆邓肯", "科比布莱恩特" },请输出最长的字符串。 11. 用方法来实现:请计算出一个整型数组的平均值。{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }。要求:计算结果如果有小数,则显示小数点后两位(四舍五入)。Math.Round() 12. 请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序。 13. 有如下字符串:【"患者:“大夫,我咳嗽得很重。” 大夫:“你多大年记?” 患者:“七十五岁。” 大夫:“二十岁咳嗽吗”患者:“不咳嗽。” 大夫:“四十岁时咳嗽吗?” 患者:“也不咳嗽。” 大夫:“那现在不咳嗽,还要等到什么时咳嗽?”"】。需求:①请统计出该字符中“咳嗽”二字的出现次数,以及每次“咳嗽”出现的索引位置。②扩展(*):统计出每个字符的出现次数。 14. 将字符串" hello world,你 好 世界 ! "两端空格去掉,并且将其中的所有其他空格都替换成一个空格,输出结果为:"hello world,你 好 世界 !"。 15. 制作一个控制台小程序。要求:用户可以在控制台录入每个学生的姓名,当用户输入quit(不区分大小写)时,程序停止接受用户的输入,并且显示出用户输入的学生的个数,以及每个学生的姓名。效果如图:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值