C#基础语法——循环结构&一维数组

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CDSN2017/article/details/81705204
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 复习3
{
    class Program
    {
        static void Main(string[] args)
        {
            /***********循环**********/
            //循环的作用就是重复,反复的执行某一段代码
            //循环结构是有条件的,有次序的,有限的(取决于条件)
            /*
             while循环
             while(条件)
             {
                循环体;
             }
             当条件为真的时候,会一直执行循环体的内容,为假的时候,不在循环
             break:结束循环,通常与if连用
             continue:结束本次循环,进入下一次循环
             */

            //练习:打印1—100之间所有的整数
            int i = 1;
            while (i <= 100)
            {
                Console.WriteLine(i);
                i++;
            }

            //练习:打印1—100之间所有的偶数
            int index = 1;
            while (index <= 100)
            {
                if (i % 2 == 0)
                {
                    Console.WriteLine(index);
                }
                i++;
            }

            //编写程序实现功能,计算100至10000之间其各位数字之和是7打印出来.(例如241:2+4+1=7)
            int index1 = 100;
            int count = 0;
            while (index1 < 10000)
            {
                int q = index1 / 1000;
                int b = index1 % 1000 / 100;
                int s = index1 % 100 / 10;
                int g = index1 % 10;
                if (q + b + s + g == 7)
                {
                    Console.WriteLine(index1);
                    count++;
                }
                index1++;
            }
            Console.WriteLine("和为7的有{0}个", count);

            //练习:从1 - 10里面找到3
            int index2 = 1;
            while (index2 <= 10)
            {
                if (index2 == 3)
                {
                    Console.WriteLine(index2);
                    break;
                }
                index2++;
                Console.WriteLine("还没有找到");
            }

            //练习:用while循环和break实现,在终端循环输入数字,一旦输入的数字小于0,停止输入
            while (true)
            {
                int index3 = int.Parse(Console.ReadLine());
                if (index3 < 0)
                {
                    Console.WriteLine("循环终止");
                    break;
                }
            }

            //练习:用continue关键字实现打印1-100之间不是3的倍数
            int index4 = 0;
            while (index4 < 100)
            {
                index4++;
                if (index4 % 3 == 0)
                {
                    continue;
                }
                Console.WriteLine(index4);
            }

            /*********do...while循环*******/
            /*
             do
             {
                循环体;
             }while(条件);
             先执行循环体,再判断条件,如果条件为真,接着执行循环体,否则结束循环
             */

            //打印出1 - 50之间的数字,里边不包含7的倍数(对7取余等于0)
            int index5 = 1;
            do
            {
                if (index5 % 7 != 0)
                {
                    Console.WriteLine(index5);
                }
                index5++;
            } while (i <= 50);

            //求1~100之间所有偶数的和
            int index6 = 0;
            int sum = 0;
            do
            {
                if (index6 % 2 == 0)
                {
                    sum = sum + index6;
                }
                index6++;
            } while (index6 <= 100);
            Console.WriteLine(sum);

            //打印出1 - 50之间的数字,个位不为7的数
            int index7 = 1;
            do
            {
                if (i % 10 != 7)
                {
                    Console.WriteLine(index7);
                }
                index7++;
            } while (index7 <= 50);

            //打印出1-100之间的数字,十位不为7的数
            int index8 = 1;
            do
            {
                if (i / 10 != 7)
                {
                    Console.WriteLine(index8);
                }
                index8++;
            } while (i <= 100);

            /********for循环*******/
            /*
             for(循环变量定义; 循环条件; 变量变化)
             {
                循环体
             }
             */

            //用for循环打印1 - 100的数
            for (int n = 0; n <= 100; i++)
            {
                Console.WriteLine(i);
            }

            //打印1 - 100中不能被7整除又不包含7的数; (除以7有余数)
            for (int n = 1; n <= 100; n++)
            {
                if (n % 7 != 0 && n % 10 != 7 && n / 7 != 10)
                {
                    Console.WriteLine("n = {0}", n);
                }
            }

            //求1+3+5+7+…+99的值 (以2为单位自增)
            int value = 0;
            for (int n = 1; n < 100; n += 2)
            {
                value = value + n;
                if (n == 99)
                {
                    Console.WriteLine(value);
                }
            }

            /*
			 * * * *
			 * * * *
			 * * * * 
			 * * * * 
			*/
            for (int n = 0; n < 4; n++)
            {
                for (int j = 0; j < 4; j++)
                {
                    Console.WriteLine("*");
                }
                Console.WriteLine("\n");
            }

            /*
             * 
             * *
             * * *
             * * * *
             */

            for (int n = 1; n < 10; n++)
            {
                for (int j = 1; j <= n; j++)
                {
                    Console.Write("*" + " ");
                }
                Console.WriteLine("\n");
            }

            /*
            			      *
            			    * * *
            			  * * * * *
            			* * * * * * *
            */
            for (int n = 1; n <= 4; n++)
            {
                for (int l = 4 - n; l > 0; l--)
                {
                    Console.Write("  ");
                }
                for (int j = 1 ; j <= 2 * n - 1; j++)
                {
                    Console.Write("*" + " ");
                }
                Console.Write("\n");
            }

            /**********数组*********/
            //相同数据类型的成员构成的组合
            //int[] numbers;
            //string[] names;
            //数组初始化:
            //在定义数组后,必须对其进行初始化才能使用
            //数组初始化分为两种:动态初始化和静态初始化
            //在我们不能给定数组初值的情况下,数组各元素取默认值(string默认null,bool默认false)

            //动态初始化格式
            /*
             数据类型 [] 数组名 = new 数组类型 [长度] {元素1, 元素2, ...元素n}; (n不能超过数组长度否则发生越界)
             注:动态初始化需要借助new,为数组元素分配空间,并初始化(赋值)
             */

            //动态初始化定义数组
            int[] numbers = new int[3] { 1, 2, 3 };
            int[] numbers1 = new int[] { 1, 2, 3 };//系统会按照元素个数自动去分配长度

            //数组元素访问 下标访问:数组名[index] index就是下标,从0开始,不能大于数组长度减一
            //数组元素赋值:数组名[下标] = 值
            //数组长度 length来表示
            //遍历数组 numbers.Length就是数组numbers的长度
            for (int n = 0; n < numbers.Length; n++)
            {
                Console.WriteLine("number[{0] = {1}", n, numbers[n]);
            }

            //静态初始化:
            /*
             数据类型[] 数组名 = {元素1, 元素2, ... 元素n};
             */

            //静态定义数组
            int[] members = { 1, 2, 3 };
            int[] members1 = { };//不建议使用

            //练习:定义一个整型数组,倒序打印
            int[] array = { 1, 2, 3, 4, 5 };
            for (int n = 0; n < array.Length; n++)
            {
                Console.WriteLine(array[n]);
            }
            for (int n = array.Length -1; n >= 0; n--)
            {
                Console.WriteLine(array[n]);
            }

            //求1~100之间所有质数的和
            int num = int.Parse(Console.ReadLine());
            int score = 0;
            for (int n = num; n >= 1; n--)
            {
                for (int j = n -1;  j >= 1;  j--)
                {
                    if (n % j == 0 && j != 1)
                    {
                        break;
                    }
                    else if (n % j == 0 && j == 1)
                    {
                        Console.WriteLine(n);
                        score += n;
                    }
                }
            }

            //打印九九乘法表
            for (int n = 1; n <= 9; n++)
            {
                for (int j = 1; j <= n; j++)
                {
                    Console.Write(j + "*" + i + " ");
                    if (n == j)
                    {
                        Console.WriteLine();
                    }
                }
            }

            //练习:定义一个长度为5的整型数组,从控制台上输入并存储到数组中
            int[] array1 = new int[5];
            for (int n = 0; n < 5; n++)
            {
                Console.Write("请输array1[{0}]入元素:", n);
                array1[n] = int.Parse(Console.ReadLine());
            }
            for (int n = 0; n < array1.Length; n++)
            {
                Console.WriteLine(array1[n]);
            }

            //在上一道题的基础上,找出最大值并打印出来
            int[] array2 = new int[5];
            for (int n = 0; n < 5; n++)
            {
                Console.Write("请输array2[{0}]入元素:", n);
                array2[n] = int.Parse(Console.ReadLine());
            }
            int max = array2[0];
            for (int n = 0; n < array2.Length; n++)
            {
                if (max < array2[n + 1])
                {
                    max = array2[n + 1];
                }
            }
            Console.WriteLine("max = {0}", max);
        }
    }
}

 

展开阅读全文

没有更多推荐了,返回首页