zoukankan      html  css  js  c++  java
  • for 循环

    For循环

     语句:顺序,分支,循环

     循环:反复执行某一段代码

     循环四要素:初始条件,循环条件,循环体,状态改变

    格式:

                for (int i = 1/*初始条件*/; i <= 100/* 循环条件*/; i++ /*状态改变*/)

                {

                    //循环体,执行代码;(break;跳出循环体)

                }

    从给出的初始条件判断是否满足循环条件,若满足进入循环体,执行代码,跳出花括号,状态改变——变量改变,判断是否还满足循环条件,若满足继续执行循环体,直至不满足循环条件为之,或者碰到break;命令,直接跳出当前的for循环。若一开始不满足则不进入循环体。

                

         例 :  输入一个整数,计算从1加到这个数的结果

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

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

                int sum = 0;

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

                {

                    //sum = sum + i;

                    sum += i;

                }

                Console.WriteLine("累加求和的结果为:"+sum);

                Console.ReadLine();

                死循环:出不来,一直在执行 只要没有循环条件就是死循环

                for (; ; )

                {

                    Console.WriteLine("你好");

                }

                //当i==10的时候跳出

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

                {

                    if (i == 10)

                    {

                        break;//跳出整个循环

                    }

                }

    三角形

    for嵌套

    //左上
                for (int i = 5; i >= 1; i--)
                {
                    for (int j = 1; j <= i; j++)
                    {
                        Console.Write("□");
                    }
                    Console.Write(" ");
                }
                Console.ReadLine();

    //左下
                for (int i = 1; i <= 5; i++)
                {
                    for (int j = 1; j <= i; j++)
                    {
                        Console.Write("□");
                    }
                    Console.Write(" ");
                }
                Console.ReadLine();

    //右上
                for (int i = 1; i <= 5; i++)
                {
                    for (int j = 1; j < i; j++)
                    {
                        Console.Write("●");
                    }
                    for (int k = 6 - i; k >= 1; k--)
                    {
                        Console.Write("□");
                    }
                    Console.Write(" ");
                }
                Console.ReadLine();

    //右下
                for (int i = 1; i <= 5; i++)
                {
                    for (int j = 1; j <= 5 - i; j++)
                    {
                        Console.Write("  ");
                    }
                    for (int k = 1; k <= i; k++)
                    {
                        Console.Write("□");
                    }
                    Console.Write(" ");
                }
                Console.ReadLine();

    //break在循环语句中表示跳出循环,而它在elseif中表示跳出最近的花括号
    //练习题:找出100以内与7有关的数并打印
    //1、从1找到100
    //2、找出与7有关的数
    //个位数是7a%10==7
    //十位数是7a/10==7
    //能被7整除的a%7==0
    //for (int i = 1; i <= 100; i++)
    //{
    // if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)
    // {
    // Console.Write(i+ " ");
    // }// 表示水平制表符,横向的以表格的样式排列
    //}
    //Console.ReadLine();

    //break,跳出循环,
    //循环条件不写出也是死循环,加break.
    //当i==10的时候跳出
    //int i=0;
    //for (; ; )//或是for(inti=0;;i++)
    //{
    // i++;
    // if (i == 10)
    // {
    // break;
    // }
    //}
    //Console.ReadLine();


    ////练习题输入一个正整数n,求1-n的阶乘
    //Console.Write("请输入一个正整数");
    //int n = int.Parse(Console.ReadLine());
    //int x = 0;
    //for (int i = 1; i <= n; i++)
    //{
    // x = x + i;
    //}
    //Console.WriteLine(x);
    //Console.ReadLine();


    //int i, j, k;
    //for (i = 0; i < 5; i++)
    //{
    // for (j = 6 - i; j >= 0; j--)
    // {
    // Console.Write(" ");
    // }
    // for (k = 0; k < 2 * i + 1; k++)
    // {
    // Console.Write("&");
    // }
    // Console.Write(" ");
    //} Console.ReadLine();

    //for循环的嵌套
    //输入一个正整数,累加求和(求阶乘)
    //Console.Write("请输入一个正整数:");
    //int a = int.Parse(Console.ReadLine());
    //int sum = 1;
    //for (int i = 1; i <= a; i++)
    //{
    // sum *= i;
    //}
    //Console.Write("结果是:"+sum );
    //Console.ReadLine();

    //输入一个整数,求1!+2!+....+n!
    //第一种做法

    //Console.Write("请输入一个正整数:");
    //int a = int.Parse(Console.ReadLine());
    //int sum = 0;
    //int jie = 1;
    //for (int i = 1; i <= a; i++)
    //{
    // jie *= i;
    // sum += jie ;
    //}
    //Console.Write("结果是:" + sum);
    //Console.ReadLine();
    //第二种做法嵌套
    // Console.Write("请输入一个正整数:");
    //int a = int.Parse(Console.ReadLine());
    //int sum = 0;
    //for (int i = 1; i <= a; i++)
    //{
    // int jie = 1;
    // for (int j = 1; j <= i; j++)
    // {
    // jie *= j;
    // }
    // sum += jie;
    //}
    //Console.WriteLine("结果是:"+sum );
    //Console.ReadLine();

    //矩形,5*5的阵列 外循环控制的是行,内循环是控制的是列
    //for (int i=0;i <5;i ++)
    //{
    //for (int j=0;j <=4-i ;j ++)
    //{
    // Console.Write("□");
    //}
    //Console.WriteLine();

    //}
    //Console.ReadLine();

    //99口诀表 直角在左下角
    //for (int i = 1; i < 9; i++)
    //{
    // for (int j = 1; j <= i; j++)
    // {
    // Console.Write("{0}*{1}={2} ",j,i,(j *i ) );
    // }
    // Console.Write(" ");
    //}
    //Console.ReadLine();

    //一个游戏,前20关是每一关自身的分数,
    //21-30关每一关是10分
    //31-40关,每一关是20分
    //41-49关,每一关是30分
    //50关,是100分
    //输入你现在闯到的关卡数,求你现在拥有的分数
    //两种做法:if嵌套for for嵌套if

    //Console.Write("请输入你现在闯到的关卡数:");
    //int a = int.Parse(Console.ReadLine());
    //int sum = 0;
    //if (a >= 1 && a <= 50)
    //{
    // if (a <= 20)
    // {
    // for (int i = 1; i <= a; i++)
    // {
    // sum += i;
    // }
    // }
    // else if (a <= 30)
    // {
    // for (int i = 1; i <= 20; i++)
    // {
    // sum += i;
    // }
    // for (int i = 21; i <= a; i++)
    // {
    // sum += 10;
    // }
    // }

    // else if (a <= 40)//a>30&&a<=40
    // {

    // for (int i = 1; i <= 20; i++)
    // {
    // sum += i;
    // }
    // for (int i = 21; i <= 30; i++)
    // {
    // sum += 10;
    // }
    // for (int i=31;i <=a ;i ++)
    // {
    // sum +=20;
    // }
    // }
    // else if (a <=49)//a>30&&a<=40
    // {
    // for (int i = 1; i <= 20; i++)
    // {
    // sum += i;
    // }
    // for (int i = 21; i <= 30; i++)
    // {
    // sum += 10;
    // }
    // for (int i=31;i <=40 ;i ++)
    // {
    // sum +=20;
    // }
    // for (int i=41;i <=a ;i ++)
    // {
    // sum +=30;
    // }
    // }
    // else
    // {
    // for (int i = 1; i <= 20; i++)
    // {
    // sum += i;
    // }
    // for (int i = 21; i <= 30; i++)
    // {
    // sum += 10;
    // }
    // for (int i=31;i <=40 ;i ++)
    // {
    // sum +=20;
    // }
    // for (int i=41;i <=49 ;i ++)
    // {
    // sum +=30;
    // }
    // sum +=100;
    // }
    // }



    // else
    // {
    // Console.WriteLine("输入有误!");

    // }
    //Console.WriteLine("您的分数为:"+sum );
    //Console.ReadLine();


    //第二种
    //Console.Write("请输入您现在闯到的关数:");
    //int a = int.Parse(Console.ReadLine());
    //int sum = 0;
    //if (a >= 1 && a <= 50)
    //{
    // for (int i = 1; i <= a; i++)
    // {
    // if (i <= 20)
    // {
    // sum += i;
    // }
    // else if (i <= 30)
    // {
    // sum += 10;
    // }
    // else if (i <=40)
    // {
    // sum += 20;
    // }
    // else if (a <= 49)
    // {
    // sum += 30;
    // }
    // else
    // {
    // sum += 100;
    // }
    // }
    //}
    //else
    //{
    //Console.WriteLine("输入有误!");
    //}
    //Console.WriteLine("您的分数是:"+sum );
    //Console.ReadLine();


    //篮球弹起问题,篮球初始所在高度是20米。
    //每次弹起是上一次的五分之四
    //输入次数,求篮球弹起高度
    //Console.Write("请输入篮球弹起次数:");
    //int a = int.Parse(Console.ReadLine());
    //double h = 20;
    //for (int i = 1; i <= a; i++)
    //{
    // h = h * 4 / 5;
    //}
    //Console.WriteLine("经过{0}次弹起,篮球高度是:{1}",a ,h );
    //Console.ReadLine();

    //折纸:有一张超大的纸,可以无限次折叠
    //厚度为0.07毫米
    //问:折叠多少次可以超过珠峰的高度(8848米)
    //int ci = 0;//标记变量,标记总共运行几次
    //double h = 0.07;//8848m=8848000
    //for (; ; )
    //{
    // ci++;//ci+1
    // h *= 2;//h=h*2;
    // if (h > 8848000)
    // {
    // break;
    // }
    //}
    //Console.WriteLine("经过{0}次折叠,可以超过珠峰的高度。高度为:{1}米",ci ,h /1000);
    //Console.ReadLine();

  • 相关阅读:
    MTK 关闭耳机调至最大音量时,提示损伤听力
    MTK LCM的添加
    chmod chown
    ubuntu14.04设置静态IP
    MTK NTP和NITZ更新时间的问题
    Rk3288 双屏异显单触摸
    MTK 修改默认时区
    MTK 屏幕旋转90度
    MTK WIFI底部加入返回按钮
    MTK 自定义按键添加广播
  • 原文地址:https://www.cnblogs.com/yp11/p/5827504.html
Copyright © 2011-2022 走看看