C#第三课——循环语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37602383/article/details/78364102

while

先判断条件在进行循环

do while

先循环在判断条件

using System;

namespace lesson3循环
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            //打印出1-100之间所有的偶数
            int num=1;
            while(num<=100){
                if (num % 2 == 0) {
                    Console.WriteLine (num);
                }
                num++;

            }




            //打印1+2+3+...+100的值
            int a=1;
            int sum = 0;
            while (a <= 100) {

                sum += a;
                a++;
            }
            Console.WriteLine (sum);




            //编写程序实现功能,计算100至10000之间有多少个数其各位数字之和是7  列:241 ,2+4+1=7
            int i = 100;
            while(i<=10000){
                if((i/1000+i/100%10+i/10%10+i%10)==7 &&i%2==0){
                    Console.WriteLine(i);
                }
                i++;
            }




            //找出1-100中数值既能被2整出并且各位数字之和是7的最小数
            int x = 1;
            while(x<=100){
                if (x % 2 == 0 && x /10 + x % 10 == 7) {
                    Console.WriteLine (x);
                    break;
                }
                x++;
            }




        //用Wile循环和break实现,在终端循环输入数字一旦输入的数字小于0,停止输入
            while(true){
                int amount=Convert.ToInt32(Console.ReadLine());
                if (amount < 0) {
                    break;
                }
            }




        //用Continue关键字实现1-100之间不是3的倍数
            int nub=0;
            while (nub < 100) {
                //如果碰到a为3的倍数我们就结束本次循环不打印a的倍数
                nub++;
                if (nub % 3 == 0) {
                    continue;
                }
                Console.WriteLine (nub);

            }





            //sum=1+2+3+...N;求Sum不超过10000的最大整数值和项值N
            int sum = 0;
            int n = 1;
            do {
                sun += n;
                n++;
            } while (sum <= 10000);
            //多了一个sun+=n;n++;
            n -= 1;
            sum -= n;
            Console.WriteLine ("sum=" + sum);
            Console.WriteLine ("n=" + n);
        }
    }
}

**

for

**
for(循环变量初始化){
循环变量
}

//用for打印1~100之间不是7的倍数并且不包含7的数。
            for(int fate=1;fate<=100;fate++){
                /*方法1:
                if (fate % 7 != 0 && fate / 10 != 7 && fate % 10 % 7 != 0) {
                    Console.WriteLine (fate);               
                }
                */
                //方法2:
                //Contains 包含
                if(fate%7!=0 &&!fate.ToString().Contains("7")==false){
                    Console.WriteLine (fate);
                    }
                }




                //打印一行1,2,3,4,5
            //第一个for循环代表行数
            for (int y = 1; y < 4; y++) {
            //第二个for循环代表列数
            for (int x = 1; x < 6; x++) {
                    Console.Write(x);
                    if (x < 5) {
                        Console.Write (",");
                    }
                }
                Console.WriteLine ();
            }

            /* 打印
             * 1
             * 12
             * 123
             */
            //九九乘法表
            for(int i=1;i<=9;i++){
                for (int j = 1; j <= i; j++) {
                    Console.Write("{0}*{1}={2} ",i,j,i*j);
                    }
                    Console.WriteLine();
                }
            //用continue关键字实现打印1-100之间不是3的倍数
            //如果各个位上的数字之和大于10 就结束循环
            for(int i=1;i<101;i++){
                if (i % 3 != 0) {
                    if(i/10+i%10>10){
                        break;
                    }
                    Console.WriteLine (i);
                }

编程将所有“水仙花数”打印出来,并打印其总个数。“水仙花数”是一个 各个位立方之和等于该整数的三位数。

for (int i = 100; i < 1000; i++) {
                //获取这个三位数百位,十位,个位的数字
                //百位
                int a = i / 100;
                //十位
                int b = i % 100 / 10;
                //个位
                int c = i % 100 % 10;
                //各位数的三次方
                //Math.Pow(*.num)
                if(Math.Pow(a,3)+Math.Pow(b,3)+Math.Pow(c,3)==i){
                    Console.WriteLine(a+ b+ c);

                }

已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合

for(int a=0;a<10;a++){
                for (int b = 0; b < 10; b++) {
                    for(int c=0;c<10;c++){
                        if (101 * a + 20 * b + 101 * c == 1333) {
                            Console.WriteLine ("a:{0}\tb:{1}\tc:{2}", a, b, c);
                        }
                    }
                }
            }

判断一个数是否是质数. (只能被1和它本身整除的数是质数)

int x=Convert.ToInt32(Console.ReadLine());
            bool a = true;
            if (x==0&&x==1) {
                Console.WriteLine ("{0}不是质数",x);

            } else if (x == 2) {
                Console.WriteLine ("{0}是质数",x);
            }
            else if (x > 2) 
            {
                for (int i = 2; i < x; i++) {
                    if (x % i == 0) {
                        a = false;
                        break;
                    }
                }
                string b = a == true ? "是" : "不是";
                Console.WriteLine ("{0}质数", b);
            }

用while和for循环打印出1-100之间不是7的倍数并且不包含7数

for (int i = 1; i <= 100; i++) {
                if (i % 7 != 0 && i % 10 != 7&&i/10!=7) {
                    Console.WriteLine (i);
                }
            }

输入两个数,求最大公约数和最小公倍数。(用两种方法:辗转相除法和普通方法)

int x = Convert.ToInt32 (Console.ReadLine());
            int y = Convert.ToInt32 (Console.ReadLine ());
            int i=0;
            int u = 0;
                for (i = x < y ? x : y; i > 0; i--) 
                {
                    if (y % i == 0 && x % i == 0) 
                    {
                            break;
                    }
                }
                Console.WriteLine ("最大公约数是{0}", i);
                for (u = x < y ? x : y; u < x * y; u++) {
                if (u % x == 0 && u % y == 0) {
                        break;
                    }
                }
            Console.WriteLine("最小公倍数是{0}",u);

猜你喜欢

转载自blog.csdn.net/m0_37602383/article/details/78364102