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

    循环:可以反复执行某段代码,直到不满足循环条件为止。
    一、循环的四要素:初始条件、循环条件、状态改变、循环体。
    1.初始条件:循环最开始的状态。
    2.循环条件:在什么条件下进行循环,不满足此条件,则循环终止。
    3.状态改变:改变循环变量值,最终不满足循环条件,从而停止循环。
    4.循环体:要反复执行的部分。
    
     
    
    二、语法:for语法.     //还有while,do...whilte
    for(初始条件;循环条件;状态改变)
    {
    //循环体
    }
    注意:
    1.for后面的小括号中,用分号隔开了三项。
    2.for的小括号后面不要加分号。
    3.不要写成死循环。
    例:
    for(int i=1;i<=10;i++)
    {
    Console.WriteLine("您好");
    }
    
    三、执行过程:
    1.执行初始条件
    2.执行循环条件
    3.循环体
    4.状态改变
    5继续第2步。
    
    注意:for的小括号里面分号隔开,for的小括号后不要加分号。
    for的嵌套。
    应用:迭代法,穷举法。
    一、迭代法:有一定规律。 
    每次循环都是从上次运算结果中获得数据,本次运算的结果都是要为下次运算做准备。s=s+m
    
    
    
    
    for循环变型:
    变型一:while循环
    int i = 1;//初始条件
    for (; i <= 100; )
    {
    Console.Write(i + "	");
    i++;//状态改变
    }
    相当于:
    int i = 1;//初始条件
    while ( i <= 100)
    {
    Console.Write(i + "	");
    i++;//状态改变
    }
    
    变型二:死循环
    for (; ; )
    {
    }
    
    五、循环的嵌套。
    for(int i=1;i<=10;i++)
    {
    for(int j=1;j<=20;j++)
    {
    Console.Write("");
    }
    Console.WriteLine();
    }
    当外层每循环1次,里层完全循环一遍。
    作业:
    打印以下图型:
    行i     列j     i与j关系
    ●●●●●    1     5
    ●●●●●    2     5
    ●●●●●    3     5
    ●●●●●    4     5
    ●●●●●    5     5
    第一个
    
    //for (int i = 1; i <= 5; i++)
    //{
    // for (int m = 1; m <= 5; m++)
    // {
    // Console.Write("卍");
    // }
    // Console.WriteLine();
    //}
    /////第二个
    ●     1     1     j<=i
    ●●     2     2
    ●●●     3     3
    ●●●●     4     4
    ●●●●●    5     5

    //for (int i = 1; i <= 5; i++) //{ // for (int m = 1; m<= i; m++) // { // Console.Write("卍"); // } // Console.WriteLine(); //} //第三个
    ●●●●●    1     5     j<=6-i    
    ●●●●     2     4
    ●●●     3     3
    ●●     4     2
    ●     5     1

    //for (int i = 1; i <= 5; i++) //{ // for (int m = 1; m <= 6 - i; m++) // { // Console.Write("卍"); // } // Console.WriteLine(); //} ////第四个
    i     空     点
    □□□□●    1     4     1
    □□□●●    2     3     2
    □□●●●    3     2     3
    □●●●●    4     1     4
    ●●●●●    5     0     5
    //for (int i = 1; i <= 5; i++)
    //{
    // for (int m = 1; m <=5-i; m++)
    // {
    
    // Console.Write(" ");
    // }
    // for (int n = 1; n <= i; n++)
    // {
    // Console.Write("*");
    
    // }
    // Console.WriteLine();
    //}
    ///第五个
    □□□□●
    □□□●●●
    □□●●●●●
    □●●●●●●●
    ●●●●●●●●●

    for (int i = 1; i <= 5; i++) { for (int m = 1; m <= 5 - i; m++) { Console.Write(" "); } for (int n = 1; n <= (2 * i - 1); n++) { Console.Write("*"); } Console.WriteLine(); } 例: 1.100以内所有数的和。 2.求阶乘 3.求年龄。 4.折纸。 5.棋盘放粮食( 自己做) 6.猴子吃桃子 7.落球问题。(自己做)一个球从10米高度落下,每次弹起2/3的高度。问第五次弹起后的高度是多少? 8.兔子小兔子的问题。一对新生兔,到三个月开始生一对小兔,以后每个月都会生一对小兔,小兔不断长大也会生小兔。假设兔子不死,每次只能生一对(公母),问第24末有多少只兔子? 二、穷举法: 用循环把各种可能的情况都给走一遍,然后用if条件把满足要求的结果给筛选出来。
    1.找100以内与7相关的数。(能被7整除,个位数是7,十位数是7)
    for(int i=1;i<=100;i++)
    {
    if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7) //重点
    {
    Console.Write(i + "	");
    }
    }
    2.显示计算机的ASCII码:
    for(int i=0;i<=125;i++)
    {
    Console.Write(i+"="+(char)i+"	");
    }
    2.有三种硬币若干:1分,2分,5分。要组合1毛5,有哪些组合方式? 3.买东西。小张过元旦发了100元的购物券,他要买香皂(5元),牙刷(2元),洗发水(20元)。要想把100元正好花完,如何买这三样东西? 4.百鸡百钱。有100文钱,要买100只鸡回家。公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只。如何买? 百马百石。有100石粮食,母匹大马驮2石,每匹中马驮1石,每两匹小马驹一起驮1石。要用100匹马驮完100石粮食,如何按排? 5.某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件: A和B两人中至少去一人; a+b>=1 A和D不能一起去; a+d<=1 A、E和F三人中要派两人去; a+e+f==2 B和C都去或都不去; b+c!=1 C和D两人中去一个; c+d==1 若D不去,则E也不去。 d+e==0||d==1 问应当让哪几个人去? 6.123()45()67()8()9=100;要求在()里面填写+或-使等式成立。 {//小兔问题 static void Main(string[] args) { //int tu1 = 1, tu2 = 1; //int tu = 0; //for (int i = 3; i <= 24; i++) //{ // tu = tu1 + tu2; tu1是倒数第一个月,tu2是倒数第二个月//相当于是整体前推 // tu2 = tu1; // tu1 = tu; //} //Console.WriteLine(tu); for(;;) //从1到100的和 //int sum = 0; //for (int i = 1; i <= 100; i++) //{ // sum = sum +i ; //} //Console.WriteLine(sum); //棋盘粮食 //int m = 1, sum =1 ; //for (int d = 2; d <= 64; d++) //{ // m = m * 2; // sum = sum + m; //} //Console.WriteLine(sum);  落球 问题 每弹一次 是上次的2/3 求第五次 多高 //double h = 10; //for (int i = 9; i >= 5; i--) //{ // h = (2 * h) / 3; //} //Console.WriteLine(h); //2元牙刷 5元肥皂 20元 洗发水 花100元 //for(int a=0;a<=50;a++) //{ // for(int b=0;b<=20;b++) // { // for(int c=0;c<=5;c++) // { // if (2*a +5* b + 20*c == 100) // { // Console.WriteLine("要买" + a + "个牙刷," + b + "个肥皂," + c + "瓶洗发水"); // } // } // } //} //百鸡百钱 有100文钱 要买100只鸡回家,公鸡2文钱一只,母鸡一文钱一只,小鸡半文钱一只,如何买? //for (int a = 0; a <= 200; a++) //{ // for (int b = 0; b <= 100; b++) // { // for(int c=0;c<=50;c++) // { // if((a+b+c==100)&&(a+2*b+4*c==200)) // { // Console .WriteLine ("要买小鸡"+a+"只,母鸡"+b+"只,公鸡"+c+"只。"); // } // } // } //} //某侦察队接到一项紧急任务,要求在A,B,C,D,E,F六个队员中尽可能多的跳若干,但有一下限制条件: //1. A和B两人至少去一人 // 2 A和D不能一起去 // 3 AEF三人要拍2个人去 // 4 B和C都去或者都不去 // 5 C和D两人中去一个 // 6 若D不去,则E也不去 // 问应当让哪几个人去? //for (int a = 0; a <= 1; a++) //{ // for (int b = 0; b <= 1; b++) // { // for (int c = 0; c <= 1; c++) // { // for (int d = 0; d <= 1; d++) // { // for (int e = 0; e <= 1; e++) // { // for (int f = 0; f <= 1; f++) // { // if (a + b >= 1 && a + d <= 1 && a + e + f == 2 && b + c != 1 && c + d == 1 &&(d + e == 0 || d == 1)) // { // Console.WriteLine("A=" + a + ",B=" + b + ",C=" + c + ",D=" + d + ",E=" + e + ",F=" + f); // } // } // } // } // } // } //}  在括号里填加减号 令等式成立 //123()45()67()8()9=100 //for (int a = -1; a <= 1; a += 2) //{ // for (int b = -1; b <= 1; b += 2) // { // for (int c = -1; c <= 1; c += 2) // { // for(int d=-1;d<=1;d+=2) // { // if(123+a*45+b*67+c*8+d*9==100) // { // Console .WriteLine ("123("+a+")45("+b+")67("+c+")8("+d+")9=100"); // } // } // } // } //}

     

  • 相关阅读:
    并发编程的核心问题
    线程池的作用
    结构化并发编程:并发编程的分解方式与组织形式
    Dispatch Group
    yii视频地址哦
    Redis--各个数据类型最大存储量
    php开发中处理emoji表情和颜文字的兼容问题
    面向对象的三个基本特征(讲解)
    详解Ajax请求(四)——多个异步请求的执行顺序
    red入门学习笔记
  • 原文地址:https://www.cnblogs.com/w297613932/p/4180364.html
Copyright © 2011-2022 走看看