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

文章目录

        • 1.从控制台输入一个三位数,在程序中分解这三位数,判断输入的三位数是否是水仙花数,并输出结果。水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:13 + 53+ 33 = 153)
        • 2.控制台输入任意一个数字,打印输出这个数的绝对值
        • 3.定义整型变量,用于存储用户的输入。通过多重if结构判断数字的位数。1-9之间:一位数;10-99之间:两位数;100-999之间:三位数;1000-9999之间:四位数
        • 4.用switch语句模拟简单的两个数的+,-,*,/计算器
        • 5.显示学生成绩等级,要求如下:
            • 成绩高于90,则输出“A”。
            • 成绩介于80-89之间,则输出“B”。
            • 成绩介于70-79之间,则输出“C”。
            • 成绩介于60-69之间,则输出“D”。
            • 成绩低于60,则输出“E”。
        • 6.公司发放年终奖,根据公司员工的职位不同,奖金数量也不一样,具体的规定如下:
            • A 类:年终奖按年收入的30% 提成。
            • B 类:年终奖按年收入的25% 提成。
            • C 类:年终奖按年收入的20% 提成。
            • D 类:年终奖按年收入的15% 提成。
            • 要求输入年收入以及员工类型,计算对应的年终奖金
        • 7.使用switch结构显示指定月份的天数,根据对年份和月份的判断,显示对应的天数
        • 8.编一个程序,首先输入一个成绩(0到100的整数),然后用if else语句判断该成绩是优、良、中、及格还是不及格。(成绩>=90为优,89>成绩>=80为良,79>成绩>=70为中,69>成绩>=60为及格,成绩<60为不及格)。
        • 9.编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和
        • 10.编一个程序,要求使用while语句,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录。
        • 11.斐波那契数列的前二项是0和1,且每一个后继项是前二项的和。编一个程序,输出项值不大于100的斐波那契数列。(斐波那契数列为1,1,2,3,5,8,13·····)
        • 12.编一个程序,用while循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个的数,也多余一个,请问这篮鸡蛋至少有多少个。
        • 13.编一个程序,利用二重for循环语句,打印出九九乘法口诀表。
        • 14.编一个程序,定义一个有10个元素的数组,使用for循环语句,从键盘上输入10名同学的数学成绩,分别求出最高分和最低分,并且求出10名同学的数学平均成绩。
        • 15.编一个程序,用for循环语句,从键盘输入10个整数,分别求出它们中的正数之和,以及负数之和。
        • 16.编一个程序,定义数组,用for循环语句,顺序输入10个整数,然后逆序输出这10个数。(顺:1,3,2,6,5,4;逆:4,5,6,2,3,1)
        • 17.建立一个数组,里面最少有10个整数并且大小顺序随机,使用for循环实现“冒泡排序”(从大到小或者从小到大的排列这10个整数)
        • 18.一个控制台应用程序,要求完成以下功能:
            • 1.接收一个整数n。
            • 2.如果接收的值n为正数,输出1~n间的全部整数。
            • 3.如果接收的值n为负值,用break或者return退出程序。
            • 4.继续接收下一个整数。
        • 19. 求1到100之间所有能被3整除,但不能被5整除的数的和。
        • 20.用循环输出下面图案 ,例如:请输入行数10
            • *
            • ***
            • *****
            • *******
            • *********
            • ***********
            • *************
            • ***************
            • *****************
            • *******************

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,C#,c#,开发语言)