C#第三课——循环语句

来源:互联网 发布:淘宝打印助手 编辑:程序博客网 时间:2024/06/05 23:44

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);
原创粉丝点击