5月3日 条件语句、循环语句的复习练习

练习一

        //用户输入姓名,然后打印此人的年龄,从1岁-18岁,每一岁占一行,打印内容为“我今年xxx岁了!”;

        //当6岁时增加打印“我上小学了!”;

        //当11岁时增加打印“我上初中了!”;

        //当15岁时增加打印“我上高中了!”;

        //当18岁时增加打印“我成年了!考上了北大!”;

1用for循环

            Console.Write("请输入您的姓名:");

            string name = Console.ReadLine();

            for (int i = 1; i <= 18; i++)

            {

                Console.WriteLine("我叫" + name + ",我今年" + i + "岁了!");

                switch (i)

                {

                    case 6: Console.WriteLine("我上小学了!"); break;

                    case 11: Console.WriteLine("我上初中了!"); break;

                    case 15: Console.WriteLine("我上高中了!"); break;

                    case 18: Console.WriteLine("我成年了!考上北大了!"); break;

                }

                

            }

            Console.ReadLine();

2用for嵌套if

            Console.Write("请输入您的姓名:");

            string name = Console.ReadLine();

            for (int nl = 1; nl <= 18; nl++)

            {

                if (nl == 6)

                {

                    Console.WriteLine("我叫" + name + ",我今年" + nl + "岁了!我上小学了!");

                }

                else if (nl == 11)

                {

                    Console.WriteLine("我叫" + name + ",我今年" + nl + "岁了!我上初中了!");

                }

                else if (nl == 15)

                {

                    Console.WriteLine("我叫" + name + ",我今年" + nl + "岁了!我上高中了!");

                }

                else if (nl == 18)

                {

                    Console.WriteLine("我叫" + name + ",我今年" + nl + "岁了!我成年了!考上北大了!");

                }

                else

                {

                    Console.WriteLine("我叫" + name + ",我今年" + nl + "岁了!");

                }

            }

            Console.ReadLine();

练习二

//输入三个数从大到小排列打印(x、y、z)

            Console.Write("请输入第一个数:");

            int x = int.Parse(Console.ReadLine());

            Console.Write("请输入第二个数:");

            int y = int.Parse(Console.ReadLine());

            Console.Write("请输入第三个数:");

            int z = int.Parse(Console.ReadLine());

            if (x > y && x > z)

            {

                if (y > z)

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(x);

                    Console.WriteLine(y);

                    Console.WriteLine(z);

                }

                else 

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(x);

                    Console.WriteLine(z);

                    Console.WriteLine(y);

                }                

            }

            else if (y > z && y > x)

            {

                if (z > x)

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(y);

                    Console.WriteLine(z);

                    Console.WriteLine(x);

                }

                else 

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(y);

                    Console.WriteLine(x);

                    Console.WriteLine(z);

                }                

            }

            else if (z > x && z > y)

            {

                if (x > y)

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(z);

                    Console.WriteLine(x);

                    Console.WriteLine(y);

                }

                else 

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(z);

                    Console.WriteLine(y);

                    Console.WriteLine(x);

                }

            }

            else if (x == y)

            {

                if (x < z)

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(z);

                    Console.WriteLine(x);

                    Console.WriteLine(y);

                }

                else

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(x);

                    Console.WriteLine(y);

                    Console.WriteLine(z);

                }

            }

            else if (x == z)

            {

                if (x < y)

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(y);

                    Console.WriteLine(x);

                    Console.WriteLine(z);

                }

                else

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(x);

                    Console.WriteLine(z);

                    Console.WriteLine(y);

                }

            }

            else if (z == y)

            {

                if (z > x)

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(z);

                    Console.WriteLine(y);

                    Console.WriteLine(x);

                }

                else

                {

                    Console.WriteLine("三位数的排序为:");

                    Console.WriteLine(x);

                    Console.WriteLine(y);

                    Console.WriteLine(z);

                }

            }

            Console.ReadLine();

练习三:

//打印100以内的所有质数,并求质数的个数以及总和

            int count = 0;

            int sum = 0;

            int gs = 0;//质数的个数

            for (int i = 1; i <= 100; i++)

            {

                count=0;//进入for循环的次数,count=2则为质数

                for (int j = 1; j <= i; j++)

                {

                    if (i % j == 0)//质数是只能被1和自身整除,判断是否能够整除,整除的话加1

                    {

                        count++;

                    }

                }

                if (count == 2)//判断内循环走完后,外循环走完之前count是否等于2

                {

                    Console.Write(i + ",");

                    gs++;//质数的个数

                    sum += i;

                }

            }

            Console.WriteLine();

            Console.WriteLine("100以内所有质数的个数是:"+gs++);

            Console.WriteLine("100以内所有质数的总和为:"+sum);

            Console.ReadLine();

练习四:

 //让用户循环操作,用户输入一个正整数(0-20),如果小于0或大于20都提示输入错误,

            //如果输入的是0-20之间的数,那么就打印从0到这个数的累加求和,

            //一共需要用户输入3遍,输入错误不计入这3遍操作当中

int count =0;

            //用户循环输入

            for (int i = 0; i <= 20; i++)

            {

            //判断count是否等于3,题目要求输入三遍

                if (count>=3)

                {

                break;

                }

                    Console.WriteLine("请输入一个正整数");

                int a=int.Parse(Console.ReadLine());

                //判断用户输入的数

                if (a>=0&&a<=20)

                {

                    //输入正确,累加求和

                    int sum=0;

                    for (int j = 0; j <= a; j++)

                    {

                        sum +=j;

                    }

                        Console.WriteLine(sum);

                        count++;

                        Console.WriteLine("您输入的是第"+count+"遍");                

                }

                else 

                {

                Console.WriteLine("您的输入有误!");

                }            

            }

            Console.ReadLine();

练习五:

 //打印方形,每行打印10个“A”,打印10行,使用循环嵌套,不允许定义内容为“AAAAAAAAAA”的变量;

            for (int i = 1; i <= 10; i++)//打印多少行

            {

                string sum = "A";//定义为字符串类型,疑问:可以定义其他类型吗?

                for (int a = 1; a <= 10; a++)//每行打印多少个

                {

                    sum += "A";

                }

                Console.WriteLine(sum);

            }

            Console.ReadLine();

练习六

//100以内奇数的和

int sum = 0;

            for (int i = 1; i <= 100; i++)

            {

                if (i % 2 != 0)

                {

                    sum += i;

                }

            }

            Console.WriteLine(sum);

            Console.ReadLine();

练习七:

//请输入一个整数(0--100),如果小于30,则打印(30以内)

            //如果大于等于30小于等于80,则打印(30--80)

            //如果大于80,则打印大于80,如果小于0或大于100,则返回(输入错误)

Console.Write("请输入一个整数(0-100):");

            int a = int.Parse(Console.ReadLine());

            if (a >= 1 && a <= 29)

            {

                Console.WriteLine("您输入的数是:" + a + ",小于30");

            }

            else if (a >= 30 && a <= 80)

            {

                Console.WriteLine("您输入的数是:" + a + ",小于等于80");

            }

            else if (a >= 81 && a <= 100)

            {

                Console.WriteLine("您输入的数是:" + a + ",大于80");

            }

            else

            {

                Console.WriteLine("您的输入有误!");

            }

            Console.ReadLine();

练习八:

//有一张超大的纸,纸张的厚度是0.07毫米,对折多少次可以达到珠峰的高度,按照8848来计算

            //8848米=8848000毫米

//第一种方法:

double count = 0;

            for (double i = 0.07; i <= 8848000; )//i++状态改变替换成count++记录次数,可以不写,或者写count++

            {

                i *= 2;

                count++;

            }

            Console.WriteLine("总共折叠了" + count + "次");

            Console.ReadLine();

//第二种方法:

            int count = 0;

            for (int i = 7; i <= 884800000; i *= 2)//为什么这里的i++去掉或不去掉,折叠次数都是27

            {

                count++;

            }

            Console.WriteLine(count);

            Console.ReadLine();

练习九:

1)打印三角形

第一种:

            for (int i = 1; i <= 6; i++)//循环打印行

            {

                for (int j = 1; j <= i; j++)//循环打印这一行的内容

                {

                    Console.Write("☆");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

 

第二种

            for (int i = 1; i <= 6; i++)

            {

                for (int j = 6; j >= i; j--)

                {

                    Console.Write("☆");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

 

第三种

            for (int i = 1; i <= 6; i++)

            {

                for (int a = 1; a < i; a++)

                {

                    Console.Write("  ");

                }

                for (int j = 6; j >= i; j--)

                {

                    Console.Write("☆");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

 

第四种

            for (int i = 1; i <= 6; i++)

            {

                for (int a = 5; a >= i; a--)

                {

                    Console.Write("  ");

                }

                for (int j = 1; j <= i; j++)

                {

                    Console.Write("☆");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

 

第五种

            for (int i = 1; i <= 6; i++)

            {

                for (int a = 5; a >= i; a--)

                {

                    Console.Write(" ");//此处的空格是一个,

                }

                for (int b = 1; b <= i; b++)

                {

                    Console.Write("☆");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

 

第六种

            for (int i = 1; i <= 6; i++)

            {

                for (int a = 1; a < i; a++)

                {

                    Console.Write(" ");//此处空格是一个

                }

                for (int b = 6; b >= i; b--)

                {

                    Console.Write("☆");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

    

(2)菱形

for (int i = 1; i <= 6; i++)

            {

                for (int a = 5; a >= i; a--)

                {

                    Console.Write(" ");//此处的空格是一个,

                }

                for (int b = 1; b <= i; b++)

                {

                    Console.Write("☆");

                }

                Console.WriteLine();

            }

            for (int i = 1; i <= 5; i++)

            {

                for (int a = 0; a < i; a++)

                {

                    Console.Write(" ");//此处空格是一个

                }

                for (int b = 5; b >= i; b--)

                {

                    Console.Write("☆");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

        

(3)用户输入一个奇数,打印上面最后的菱形,最长的个数是用户输入的个数

练习十:

//猜拳

            //三局两胜,电脑连赢两局,或者玩家连赢两局,2局结束

            //电脑赢一局,玩家赢一局,3局

            //平局,不知道几局才能结束了,

            //只要是电脑或是玩家赢了2局,那么就结束,否则继续

            //break结束循环

            //continue结束当前次循环,进入下一次循环

//用户输入石头剪子布,计算器也随机出一个石头剪子布,

                //用户与计算机进行对比,得出胜负;

                //1、用户输入选择的手势

                Console.Write("请输入您的手势(石头:0,剪子:1,布:2):");

                int yh = Convert.ToInt32(Console.ReadLine());

                //2、计算机随机选出计算机的手势

                Random r = new Random();

                int dn = r.Next(0, 3);

                //3、对比,输出结果

                //石头0,剪子1,布2

                //0 1 = -1

                //1 2 = -1

                //2 0 = 2

                //0 2 = -2

                //1 0 = 1

                //2 1 = 1

                int jg = yh - dn;

                if (jg == -1 || jg == 2)

                {

                    Console.WriteLine("用户胜利!");

                }

                else if (jg == -2 || jg == 1)

                {

                    Console.WriteLine("用户失败!");

                }

                else

                {

                    Console.WriteLine("平局!");

                }

                Console.ReadLine();

 练习十一:

//打印九九乘法表

            for (int i = 1; i <= 9; i++)

            {

                for (int j = 1; j <= i; j++)

                {

                    Console.Write(j+"*"+i+"="+j*i+" ");

                }

                Console.WriteLine();

            }

            Console.ReadLine();

练习十二:

//顺序打印数字,0,1,8,10,12,每一个数单独占一行

            //在全部数字打印完毕之后再打印数字的个数和所有数的和

            int count = 0;

            int sum = 0;

            for (int i = 0; i <= 12; i++)

            {

                switch (i)

                {

                    case 0: Console.WriteLine(i);

                        count++;

                        sum += i;

                        break;

                    case 1: Console.WriteLine(i);

                        count++;

                        sum += i;

                        break;

                    case 8: Console.WriteLine(i);

                        count++;

                        sum += i;

                        break;

                    case 10: Console.WriteLine(i);

                        count++;

                        sum += i;

                        break;

                    case 12: Console.WriteLine(i);

                        count++;

                        sum += i;

                        break;

                }

            }

            Console.WriteLine("一共"+count+"个数字");

            Console.WriteLine(sum);

            Console.ReadLine();

原文地址:https://www.cnblogs.com/juyangchao12/p/5456998.html