循环语句:

四要素:初始条件,循环条件,状态改变,循环体

for(初始条件;循环条件;状态改变)
{
//循环体
}

案例1:打印等腰直角三角形和菱形

左上三角

 static void Main(string[] args)
{
Console.WriteLine("请输入一个数:");
int n = Convert.ToInt32(Console.ReadLine()); //打印左上三角形
for (int i = ; i <= n; i++)
{
for (int j = ; j <= i; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
}

运行结果:

左下三角:

 static void Main(string[] args)
{
Console.WriteLine("请输入一个数:");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n + - i; j++)
{
Console.Write("★");
}
Console.WriteLine();
}
}

运行结果:

右上三角:

  static void Main(string[] args)
{
Console.WriteLine("请输入一个数:");
int n = Convert.ToInt32(Console.ReadLine());
//打印右上三角
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n - i; j++)
{
Console.Write(" ");
}
for (int k = ; k <= i; k++)
{
Console.Write("★");
}
Console.WriteLine();
}
}

运行结果:

右下三角:

  static void Main(string[] args)
{
Console.WriteLine("请输入一个数:");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = ; i <= n; i++)
{
for (int j = ; j <= i - ; j++)
{
Console.Write(" ");
}
for (int k = ; k <= n + - i; k++)
{
Console.Write("★");
}
Console.WriteLine();
}
}

运行结果:

菱形:

 static void Main(string[] args)
{
Console.WriteLine("请输入一个数:");
int n = Convert.ToInt32(Console.ReadLine());
//打印上半部分菱形
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n - i; j++)
{
Console.Write(" ");
}
for (int k = ; k <= * i - ; k++)
{
Console.Write("★");
}
Console.WriteLine();
} //打印下半部分菱形
for (int i = ; i <= n; i++)
{
for (int j = ; j <= i - ; j++)
{
Console.Write(" ");
}
for (int k = ; k <= - * i; k++)
{
Console.Write("★");
}
Console.WriteLine();
} }

运行结果:

break; 完全终止循环,退出循环。 吃到苍蝇
continue; 中断本次循环,进入下次循环。 吃到沙子

1.迭代法: - 有规律可寻

//100以内所有数的和。

  static void Main(string[] args)
{
// 求100以内所有数的和
//收公粮
int sum = ; for (int i = ; i <= ; i++)
{
sum = sum + i;
}
Console.WriteLine(sum);
}

//猴子吃桃子

公园里有一只猴子,和一堆桃子,猴子每天吃完桃子总数的一半,在剩下一半数量中扔掉一个坏的。每天这样吃,到第七天,猴子睁开眼时,发现只剩下一个桃子了,问刚开始公园里有多少个桃子? 190

  public static void Main(string[] args)
{
//猴子吃桃子
int taozi = ;
for (int i = ; i >= ; i--)
{
taozi = (taozi + ) * ;
} Console.WriteLine(taozi);
}

//国象棋盘放米

 public static void Main(string[] args)
{
//国象放米
double mi = ;
Console.Write(mi + "\t");//第一行的米数 for (int i = ; i <= ; i++)
{
mi = mi * ;
Console.Write(mi + "\t");
}
}

结果:

//拆纸多少次就比珠峰高 8848米

一张A4纸的厚度:0.088毫米 =0.0088厘米 = 0.00088分米=0.000088米

 public static void Main(string[] args)
{
double houdu = 0.000088; for (int i = ; ; i++)
{
houdu = houdu * ;
Console.Write(houdu + "\t");
if (houdu > )
{
Console.WriteLine("对折了{0}次后就超过珠峰了", i);
break;
}
}
}

运行结果:

2.穷举法 :

用循环,把所有可能的情况都走上一遍,然后使用if过滤出满足条件的情况来。

//100以内所有与7有关的数。

  static void Main(string[] args)
{
#region ====求100以内与7有关的数==== for (int i = ; i <= ; i++)
{
if (i % == || i % == || i / == )
{
Console.Write(i + "\t");
}
}
#endregion
}

//百鸡百钱
公鸡2文钱,母鸡1文钱,小鸡半文钱。用100文钱,买100只鸡,每类鸡只少买1只,有哪几种组合?

  static void Main(string[] args)
{
//百鸡百钱:公鸡2文,母鸡1文,小鸡半文,每种至少一只,100文买100只鸡有多少可能性
int sum = ;
for (int a = ; a <=; a++)
{
for (int b =; b <; b++)
{
for (int c = ; c <=; c++)
{
if (a+b+c==&&a*+b*+c*0.5==)
{
sum++;
Console.WriteLine("公鸡{0}只,母鸡{1}只,小鸡{2}只",a,b,c);
}
}
}
}
Console.WriteLine("一共有{0}种可能性",sum);
}

123( )45( )67( )8(  )9=100,括号里填+或-使得等式两边相等。

  public static void Main(string[] args)
{ for (int a = -; a <= ; a = a + )
{
for (int b = -; b <= ; b = b + )
{
for (int c = -; c <= ; c = c + )
{
for (int d = -; d <= ; d = d + )
{
if ( + * a + * b + * c + * d == )
{
Console.Write("{0},{1},{2},{3}", a, b, c, d);
}
}
}
}
}
}

小张单位发100元的购物卡,小张要去超市买三种日常用品:牙刷(5元)、香皂(2元)、洗发水。(15元),购物卡不退现,小张又不想多花钱,如何购买刚好花完这100元的卡?

 static void Main(string[] args)
{ int count=;
for (int a = ; a <=; a++)
{
for (int b = ; b <=; b++)
{
for (int c = ; c <=; c++)
{ if (a*+b*+c*==)
{
count++;
Console.WriteLine("牙刷{0}只,香皂{1}个,洗发水{2}瓶", a, b, c);
} }
}
}
Console.WriteLine("一共有{0}种可能性恰好花光100元",count);
}

 //打印出所有的水仙花数,所谓的水仙花数就是一个三位数,其余各个数字的立方和等于它的本身,例如153是一个水仙花数,153=1∧3+5∧3+3∧3

 static void Main(string[] args)
{
//打印出所有的水仙花数,所谓的水仙花数就是一个三位数,其余各个数字的立方和等于它的本身,例如153是一个水仙花数,153=1∧3+5∧3+3∧3
for (int i = ; i <=; i++)
{
int a = i / ;//取出三位数的百位
int b = i / % ;//取出三位数的十位
int c = i % ;//取出三位数的个位 if (a*a*a+b*b*b+c*c*c==i)
{
Console.WriteLine(i);
} } }

运行结果:

for循环语句以及迭代法和穷举法的更多相关文章

  1. 作业:for循环,迭代法和穷举法

                                                    for()循环 四要素:初始条件,循环条件,状态改变,循环体. 执行过程:初始条件--循环条件--循环体 ...

  2. 【2-24】for循环嵌套,跳转语句,异常语句,穷举法、迭代法

    For循环嵌套与if嵌套相似,是在for中再套for,其结构如下: For(;;) { For(;;){} }经典题型为打印星星例: Console.Write("请输入一个奇数:" ...

  3. C#5 复习总结循环 迭代和穷举

    一.章节复习: 循环.反复执行某段语句一种语法形式. 1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) { 循环体 } 循环的四要素. 循环的执行过程.初始条件--循环条件--循环 ...

  4. C# 异常语句 跳转语句 while循环 穷举法 迭代法

    一  异常语句   ♦ try.....catch....finally 结构形式 try{ 可能会出错的代码语句 如果这里出错了,那么不会在继续下面的代码,而是直接进入catch中处理异常}catc ...

  5. C#4 for循环 迭代法 穷举法应用

    for()循环. 四要素: 初始条件,循环条件,状态改变,循环体. 执行过程: 初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面分号隔开,for的小括号后不要加 ...

  6. 穷举法、for循环、函数、作用域、斐波那契数

    1.穷举法 枚举所有可能性,直到得到正确的答案或者尝试完所有值. 穷举法经常是解决问题的最实用的方法,它实现起来热别容易,并且易于理解. 2.for循环 for语句一般形式如下: for variab ...

  7. C# for 循环 迭代法 穷举法

    for()循环. 四要素: 初始条件,循环条件,状态改变,循环体. 执行过程: 初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面分号隔开,for的小括号后不要加 ...

  8. 基本算法思想之穷举法(C++语言描述)

    穷举算法(Exhaustive Attack method)是最简单的一种算法,其依赖于计算机的强大计算能力来穷尽每一种可能性,从而达到求解问题的目的.穷举算法效率不高,但是适应于一些没有规律可循的场 ...

  9. 通过穷举法快速破解excel或word加密文档最高15位密码

    1.打开文件 2.工具 --- 宏 ---- 录制新宏 --- 输入名字如 :aa 3.停止录制 ( 这样得到一个空宏 ) 4.工具 --- 宏 ---- 宏 , 选 aa, 点编辑按钮 5.删除窗口 ...

随机推荐

  1. $.ajax() ,$.post(),$.get() 的用法

    在编写代码的过程中,我们会用到一些的需要局部刷新,而且需要数据传递的情况,我们通常是有$.ajax() ,$.post(),$.get() 这三种方式. $.ajax()方法通过 HTTP 请求加载远 ...

  2. Bootstrap日期和时间表单组件运用兼容ie8

    准备动作先到下载Bootstrap日期和时间组件. 1:引入bootstrap.min.css,因为bootstrap-datetimepicker里面的很多样式依赖bootstarp的主样式,字体文 ...

  3. server-pc--------------->lspci,lsusb,meminfo等配置信息

    安装yum install pciutils usbutils [root@server09 ~]# [root@server09 ~]# lspci00:00.0 Host bridge: Inte ...

  4. pkg-config问题:

    pkg-config是一个工具,可以用于检测相应的依赖环境. pkg-config用来检索系统中安装库文件的信息,典型的是用作库的编译和连接.一般来说,如果库的头文件不在/usr/include目录中 ...

  5. SurfaceHolder.Callback

    Class Overview A client may implement this interface to receive information about changes to the sur ...

  6. C++ 11 右值引用

    C++11中引入的一个非常重要的概念就是右值引用.理解右值引用是学习“移动语义”(move semantics)的基础.而要理解右值引用,就必须先区分左值与右值. 注意:左值右值翻译可能有些问题 *L ...

  7. android源码解析(十七)-->Activity布局加载流程

    版权声明:本文为博主原创文章,未经博主允许不得转载. 好吧,终于要开始讲讲Activity的布局加载流程了,大家都知道在Android体系中Activity扮演了一个界面展示的角色,这也是它与andr ...

  8. 在map中根据value获取key

    原文:http://blog.csdn.net/mexican_jacky/article/details/51789548 //根据map的value获取map的key private static ...

  9. 强制关闭tomcat

    ps -ef |grep tomcat //找到tomcat的端口号 kill - tomcatpid

  10. openfire控制台登录不了的解决

    不知道为什么,openfire服务器后台,发生几次密码都登录不上去的问题,密码肯定没错,第一次就是默认的用户名:admin,密码:admin,然,第三天,说我密码错误,后来重装软件才弄好, 然后又发生 ...