• 循环语句2


    for的嵌套
    
    
                //99乘法表
                for (int a = 1; a <= 9; a++)-----控制行
                {
                    for (int i = 1; i <= a; i++)------控制列
                    {
                        Console.Write(i + "*" + a + "=" + (a * i) + "	");
                    }
                    Console.WriteLine();
                }
                Console.ReadLine();    
    
    
    
                //直角在左上
                for (int i = 5; i >= 1; i--)
                {
                    for (int j = 1; j <= i; j++)//j<i,刚开始j<5,打出来是个正方形的,和上面的i没有关联上。
                    {
                        Console.Write("※");
                    }
                    Console.WriteLine();
    
                }
    
                Console.ReadLine();
    
    
     
    
    
               //打印星号,直角在左下
                for (int i = 1; i <= 5; i++)
                {
                    for (int j = 1; j <= i; j++)
                    {
                        Console.Write("※");
                    }
                    Console.WriteLine();
                }
                Console.ReadLine();
    

    直角在右边之后就有点难了。我就晕了。
    
    
                //直角在右上
                for (int i = 1; i <= 5; i++)
                {
                    for (int j = 2; j <= i; j++)------条件时常会搞错
                    {
                        Console.Write("  ");-------两个空格是一个字符,空出位置来
                    }
                    for (int t = 5; t >= i; t--)
                    {
                        Console.Write("※");
                    }
                    Console.WriteLine();-------换行,打下一行
                }
                Console.ReadLine();
    
    
    
                //直角在右下
                for (int i = 1; i <= 5; i++)
                {
                    for (int j = 4; j >= i; j--)
                    {
                        Console.Write("  ");
                    }
                    for (int t = 1; t <= i; t++)
                    {
                        Console.Write("※");
                    }
                    Console.WriteLine();
                }
                Console.ReadLine();
    复制代码
    
    
    穷举:
    
    
                //穷举:
                //把所有可能的情况都走一遍,使用if条件筛选出来满足条件的情况。
                //单位给发了一张150元购物卡,
                //拿着到超市买三类洗化用品。
                //洗发水15元,香皂2元,牙刷5元。
                //求刚好花完150元,有多少种买法,
                //每种买法都是各买几样?
                //设洗发水x             150/15==10
                //牙刷y                   150/5==30
                //香皂z                   150/2==75
                int biao = 0;
                int sum = 0;
                for (int x = 0; x <= 10; x++)
                {
                    for (int y = 0; y <= 30; y++)
                    {
                        for (int z = 0; z <= 75; z++)
                        {
                            sum++;
                            if (x * 15 + y * 5 + z * 2 == 150)
                            {
                                biao++;
                                Console.WriteLine("这是第" + biao + "种买法:洗发水" + x + "瓶,牙刷" + y + "支,香皂" + z + "块。");
                            }
                        }
                    }
                }
                Console.WriteLine("共有" + biao + "种买法!");
                Console.WriteLine(sum);
    
                Console.ReadLine();
    
    羽毛球拍15元每支,球3元每个,水2元每瓶,200元每种至少一个,有多少种可能。
    
    只买球拍最多13支,设为x。
    
    球最多66个,设数量为y。
    
    水最多100瓶,设为z。
    
    15x+3y+2z=200.
    
    
                int m = 0;
                
                for (int x = 1; 15 * x<=200; x++)
                {
                    for (int y = 1; 3 * y <= 200; y++)
                    {
                        for (int z = 1; 2 * z <= 200; z++)
                        {
                            if(15*x+3*y+2*z==200)
                            {
                                m++;
                                Console.WriteLine(x+"支拍子"+y+"个球"+z+"瓶水。");
                            }
                        }
                    }                 
                }
                Console.WriteLine("一共"+m+"种买法。");
                Console.ReadLine();
    
    百鸡百钱:公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡,有多少种可能性。
    
    设公鸡x只,母鸡y,小鸡z
    
    2x+y+0.5z=100&&x+y+z=100-----这是条件
    
    
                int m = 0;
                for (int x=1;x<=50 ;x++ )
                {
                    for (int y = 1; y <= 100; y++)
                    {
                        for (int z = 1; z <= 200; z++)
                        {
                            if(2*x+y+0.5*z==100&&x+y+z==100)
                            {
                                m++;
                            }
                        }
                    }
                }
                Console.WriteLine("一共" + m + "种买法。");
                Console.ReadLine();
    
    
                //迭代:
                //从初始情况按照规律不断求解中间情况,最终推导出结果。
    
                //纸张可以无限次对折,纸张厚度为0.07毫米。
                //问多少次对折至少可以超过8848?
                int a = 7;//884800000
                int i = 1;
                for (;; )
                {
                    a *= 2;//a=a*2;
                    if (a >= 884800000)
                    {
                        Console.WriteLine(i);
                        Console.WriteLine(a);
                        break;
                    }
                    i++;
                }
                while(true)
                {
                    a *= 2;
    
                    if (a >= 884800000)
                    {
                        Console.WriteLine(i);
                        Console.WriteLine(a);
                        break;
                    }
                    i++;
                }
    
     
    

      

  • 相关阅读:
    [数字信号处理]离散傅里叶变换及其性质
    [数字信号处理]序列的逆z变换
    [数字信号处理]序列的z变换
    [数字信号处理]从傅里叶级数到傅里叶变换
    [物理]简谐振动总结
    [数字信号处理]常系数差分方程
    [数字信号处理]时域离散系统
    [数字信号处理]入门基本概念
    团队作业6-复审与事后分析
    Alpha阶段项目复审
  • 原文地址:https://www.cnblogs.com/xingfudehuanyan/p/5267340.html
Copyright © 2020-2023  润新知