zoukankan      html  css  js  c++  java
  • 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();

  • 相关阅读:
    冒泡排序
    【leetcode 简单】第二十二题 对称二叉树
    【leetcode 简单】第二十一题 相同的树
    【leetcode 简单】第二十七题 二叉树的最小深度
    【leetcode 简单】第二十三题 二叉树的最大深度
    python 版本zabbix_sender
    C语言二分查找
    【leetcode 简单】第二十题 合并两个有序数组
    【leetcode 简单】第十九题 删除排序链表中的重复元素
    【leetcode 简单】第十八题 爬楼梯
  • 原文地址:https://www.cnblogs.com/juyangchao12/p/5456998.html
Copyright © 2011-2022 走看看