C#编程入门_循环_5

来源:互联网 发布:c语言 逆波兰算法 编辑:程序博客网 时间:2024/06/05 17:24

21篇C#博客的配套源码


while循环

这里写图片描述
while循环适合在执行循环体前先判断执行条件的操作

using System.Linq;using System.Text;using System.Threading.Tasks;namespace while循环{    class Program    {        static void Main(string[] args)        {            //类似计数器            //1-100 所有能被3整除的和            int sum = 0;            int count = 0;            while (count<=100)            {                count++;                if (count%3==0)                {                    sum += count;                }            }            Console.WriteLine(sum);        }    }}


do-while循环

这里写图片描述

do-while循环适合不管什么条件,先执行一次的操作。比如登录操作



for循环

这里写图片描述

for循环适合已知其实条件和终止条件及步长的操作

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace for循环{    class Program    {        static void Main(string[] args)        {            //第一个条件  是赋值语句n  是一个起始条件            //第二个条件  是终止条件            //第三个条件 是每次循环的步长            //循环的次数就是  (终止条件-起始条件)/步长 ==循环的次数            //1次    6次   5次            //第一个条件执行1次  第二个条件执行次数=循环的次数+1  第三个条件执行的次数是 循环的次数            //for (int i = 5; i < 10; i++)            //{            //    Console.WriteLine("Hello world");            //}            int sum = 0;            for (int i = 1; i < 101; i++)            {                if (i%2==0)                {                    //continue是一个跳转语句  结束当次循环                    continue;                  }                sum += i;            }            Console.WriteLine(sum);        }    }}

打印基本的图形

在打印图形的时候基本都是下面的1号图形和其他图形的组合成的

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 打印图形{    class Program    {        static void Main(string[] args)        {            /*    *             *    **             *    ***             *    ****             *    *****             *    ******             */            Console.WriteLine("************1号图形***************");            //外层循环控制的是行数            int lines = 4;  //要打印图形的行数            for (int i = 0; i < lines; i++)            {                //内层循环控制的是列数                //内层循环控制是每行打印的内容及个数                //每一行打印的列数不一样 取决于j<i                 for (int j = 0; j <= i; j++)                {                    Console.Write("+");                }                Console.WriteLine();            }            /*              * *******             * ******             * *****             * ****             * ***             * **             * *             */            Console.WriteLine("************2号图形***************");            lines = 3;            /*             *  7-0             *  7-1             *  7-2             *  7-3             */            //外层循环控制行数            for (int i = 0; i < lines; i++)            {                //内层循环控制列数                for (int j = 0; j < lines-i; j++)                {                    //在本行没有打印完的时候不能换行                    Console.Write("*");                }                //内层循环结束  说明整行的内容已经打印完毕  可以换行                Console.WriteLine();            }            Console.WriteLine("*********3号图形**************");            /*         *             *        **             *       ***             *      ****             *     *****             */            lines = 5;            //外层循环控制的是行数            for (int i = 0; i < lines; i++)            {                //内层循环控制的是内容或者是列数                //第二步  打印看不见的部分                //控制的是行中的空格部分                for (int k = 0; k < lines-i-1; k++)                {                    Console.Write(" ");                }                //第一步先打印看得见的部分                //控制是行中*部分                for (int j = 0; j <=i; j++)                {                    Console.Write("*");                }                Console.WriteLine();            }            /*             *  *******             *   ******             *    *****             *     ****             *      ***             *       **             *        *             *              *   *******             *    ******             *     *****             *      ****             *       ***             *        **             *         *             *                *              *               */            Console.WriteLine("*************4号图形*************");            lines = 7;            for (int i = 0; i < lines; i++)            {                for (int k = 0; k < i; k++)                {                    Console.Write(" ");                }                //内层循环控制列数                for (int j = 0; j < lines - i; j++)                {                    //在本行没有打印完的时候不能换行                    Console.Write("*");                }                Console.WriteLine();            }            /*             * 先打印这个图形             *     *             *     ***             *     *****             *     *******             *     *********             *                  *     在将上面的左边用空格排挤上面的三角形得到如下图形             *         *             *        ***             *       *****             *      *******             *     *********                  *              */            //每行都打印奇数个*            //第一种方式            for (int i = 1; i < 10; i++)            {                if (i%2==1)                {                    for (int j = 0; j < i; j++)                    {                        Console.Write("*");                    }                    Console.WriteLine();                }            }            lines = 5;            //第二种方式            for (int i = 0; i < lines; i++)            {                //内层循环控制列数                for (int j = 0; j < lines - i-1; j++)                {                    //在本行没有打印完的时候不能换行                    Console.Write(" ");                }                for (int j = 0; j < 2*i+1; j++)                {                    Console.Write("*");                }                Console.WriteLine();            }            Console.WriteLine("**************6号图形**************");            /*             *  *********             *   *******             *    *****             *     ***             *      *             *                   *                   *      先打印 在用空格去排挤图形             *      *********             *      *******             *      *****             *      ***             *      *             */            lines = 5;            for (int i = 0; i < lines; i++)            {                for (int k = 0; k <i ; k++)                {                    Console.Write(" ");                }                for (int j = 0; j < 2*(lines-i)-1; j++)                {                    Console.Write("*");                }                Console.WriteLine();            }        }    }}

循环和字符的综合使用

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 循环和字符{    class Program    {        static void Main(string[] args)        {            //字符和数字可以进行相互转化            //由于字符的ASCII码是一个数字 每一个字符都对应一个数字  是一一对应关系            Console.WriteLine((int)'A');            Console.WriteLine((char)66);            //字符相加的结果是ASCII码相加的结果            Console.WriteLine('A' +'B');            ////第一种方法   但是很垃圾            //for (int i = 65; i < 65+26; i++)            //{            //    Console.WriteLine((char)i);            //}            //第二种方法            //for (char i = 'A'; i <= 'Z'; i++)            //{            //    Console.WriteLine(i);            //}            //大写字母和小写字母的转化            //   A B C D E F G H I J K            Console.WriteLine((char)('A'-'A'+'a'));            Console.WriteLine((char)('B' - 'A' + 'a'));            Console.WriteLine((char)('Z' - 'A' + 'a'));            //A    z            //B    y            //C    x            //....            //....            //....            //Y    b            //Z    a            //寻找变量和不变的量            //Console.WriteLine('A' + "   " + (char)('z' - ('A' - 'A')));            //Console.WriteLine('B' + "   " + (char)('z' - ('B' - 'A')));            //Console.WriteLine('C' + "   " + (char)('z' - ('C' - 'A')));            for (char i = 'A'; i <='Z'; i++)            {                //在循环体中将变量用索引来替换                Console.WriteLine(i + "   " + (char)('z' - (i - 'A')));            }        }    }}