zoukankan      html  css  js  c++  java
  • C# 循环语句 for 循环的嵌套 穷举 迭代 while 及例题

    for 循环的嵌套:

     Console.Write("请输入一个数字:");

                int n = Convert.ToInt16(Console.ReadLine());

                for (int i = 1; i <= n; i++)//i1开始递增到n结束

                {

                    for (int t = 1; t <= i; t++)//循环条件与i有关,当i=1t满足条件,打印一个"★"

                    {  //t递增到不再满足条件<=i,则不再进行循环,而执行下一个命令打印换行" "

                        Console.Write("★");

                    }

                    Console.Write(" ");

                }

                Console.ReadLine(); 

    for穷举:把所有可能性都列举一遍,把满足条件的筛选出来

    for迭代:根据初始情况,不断求解中间情况,最终导出结果

    while://当什么时

      int n = 1;

                 while (n < 6)//在括号内直接限制循环条件,

                 {//需要在中括号内给出改变方式,否则将会进入死循环

                     Console.WriteLine("打印结果{0}, {1}", n, 2 * n);//占位符 "{0}, {1}" ,n1,n2

                     n = n + 1;//在中括号内给予值得改变方式

                 }

                 int m = 1;

                 while (true)

                 {

                     Console.WriteLine("打印结果为" + m);

                     m++;

                     if (m == 6)

                     {

                         break;//break; 跳出语句:跳出循环

                     }

                 }

                 Console.ReadLine();

     do  while:先执行,再判断,必定执行一次

     例题:

    1、找出100以内与7有关的数,并且打印
      个位数是7 a%10==7
      十位数是7 a/10==7
      能被7整除 a%7==0

    for (int i = 1; i <= 100; i++)
    {
    if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)
    {
    Console.Write(i +" ");
    }
    }
    Console.ReadLine();

    2、累加求和

    Console.Write("请输入一个正整数:");
    int a = int.Parse(Console.ReadLine());
    int sum = 0;
    for (int i = 1; i <= a; i++)
    {
    sum += i;//sum=sum+1
    }
    Console.WriteLine(sum);
    Console.ReadLine();

    3、输入一个正整数,求阶乘

    Console.Write("请输入一个正整数:");
    int a = int.Parse(Console.ReadLine());
    int jie = 1;
    for (int i = 1; i <= a; i++)
    {
    jie *= i;//jie=jie*i
    }
    Console.WriteLine(jie);
    Console.ReadLine();

    4、求阶乘的和

    Console.Write("输入一个正整数:");
    int a = int.Parse(Console.ReadLine());
    int sum = 0;
    int jie = 1;
    for (int i = 1; i <= a; i++)
    {
    jie *= i;
    sum += jie;
    }
    Console.WriteLine(sum);
    Console.ReadLine();

    5、一个游戏,前20关是每一关的分数
      21~30关,每一关10分
      31~40关,每一关20分
      41~49关,每一关30分
      50关,是100分
      输入现在的关卡数,求现在的分数

    方法一:

    Console.Write("请输入你的关卡数:");

    int a = int.Parse(Console.ReadLine());
    if(a>=1 && a<=50)
    {
    int sum = 0;
    for (int i=1;i<=a ;i++ )
    {
    if (i <= 20)
    {
    sum += i;//sum=sum+1
    }
    else if(i<=30)
    {
    sum += 10;//sum=sum+10
    }
    else if ( i <= 40)
    {
    sum += 20;//sum=sum+20
    }
    else if (i <= 49)
    {
    sum += 30;//sum=sum+30
    }
    else
    {
    sum += 100;//sum=sum+100
    }

    }
    Console.WriteLine(sum);

    }
    else
    {
    Console.WriteLine("您输入的关卡数有误!");
    }
    Console.ReadLine();

    方法二:

    Console.Write("请输入你的关卡数:");
    int a = int.Parse(Console.ReadLine());
    if(a>=1 && a<=50)
    {
    int sum = 0;
    if (a<= 20)
    {
    for (int i=1;i<=a ;i++ )
    {
    sum += i;//sum=sum+1
    }
    }
    else if ( a<=30)
    {
    for (int i = 1; i <= 20; i++)
    {
    sum += i;//sum=sum+1
    }
    for (int i=21; i <= a; i++)
    {
    sum += 10;
    }

    }
    else if (a <= 40)
    {
    for (int i = 1; i <= 20; i++)
    {
    sum += i;//sum=sum+1
    }
    for (int i = 21; i <= 30; i++)
    {
    sum += 10;
    }
    for (int i=31;i<=a ;i++ )
    {
    sum += 20;
    }
    }
    else if (a <= 49)
    {

    for (int i = 1; i <= 20; i++)
    {
    sum += i;//sum=sum+1
    }
    for (int i = 21; i <= 30; i++)
    {
    sum += 10;
    }
    for (int i = 31; i <= 40; i++)
    {
    sum += 20;
    }
    for (int i = 41; i <= a; i++)
    {
    sum += 30;
    }

    }
    else
    {
    for (int i = 1; i <= 20; i++)
    {
    sum += i;//sum=sum+1
    }
    for (int i = 21; i <= 30; i++)
    {
    sum += 10;
    }
    for (int i = 31; i <= 40; i++)
    {
    sum += 20;
    }
    for (int i = 41; i <= 49; i++)
    {
    sum += 30;
    }
    sum += 100;
    }
    Console.WriteLine(sum);

    }
    else
    {
    Console.WriteLine("您输入的关卡数有误!");
    }
    Console.ReadLine();

  • 相关阅读:
    javascript基础学习三---DOM操作
    小程序-微信开发者工具使用
    回溯算法实践--工作分配问题
    回溯算法理解
    贪心算法--删数问题
    单线程与多线程的区别
    【图解】Web前端实现类似Excel的电子表格
    详细了解JS Map,它和传统对象有什么区别?
    带你彻底弄懂nth-of-type与nth-child的区别
    input 纯数字输入 限制长度 限制 最大值
  • 原文地址:https://www.cnblogs.com/hcx999/p/5702236.html
Copyright © 2011-2022 走看看