for循环语句以及迭代法和穷举法
循环语句:
四要素:初始条件,循环条件,状态改变,循环体
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循环语句以及迭代法和穷举法的更多相关文章
- 作业:for循环,迭代法和穷举法
for()循环 四要素:初始条件,循环条件,状态改变,循环体. 执行过程:初始条件--循环条件--循环体 ...
- 【2-24】for循环嵌套,跳转语句,异常语句,穷举法、迭代法
For循环嵌套与if嵌套相似,是在for中再套for,其结构如下: For(;;) { For(;;){} }经典题型为打印星星例: Console.Write("请输入一个奇数:" ...
- C#5 复习总结循环 迭代和穷举
一.章节复习: 循环.反复执行某段语句一种语法形式. 1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) { 循环体 } 循环的四要素. 循环的执行过程.初始条件--循环条件--循环 ...
- C# 异常语句 跳转语句 while循环 穷举法 迭代法
一 异常语句 ♦ try.....catch....finally 结构形式 try{ 可能会出错的代码语句 如果这里出错了,那么不会在继续下面的代码,而是直接进入catch中处理异常}catc ...
- C#4 for循环 迭代法 穷举法应用
for()循环. 四要素: 初始条件,循环条件,状态改变,循环体. 执行过程: 初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面分号隔开,for的小括号后不要加 ...
- 穷举法、for循环、函数、作用域、斐波那契数
1.穷举法 枚举所有可能性,直到得到正确的答案或者尝试完所有值. 穷举法经常是解决问题的最实用的方法,它实现起来热别容易,并且易于理解. 2.for循环 for语句一般形式如下: for variab ...
- C# for 循环 迭代法 穷举法
for()循环. 四要素: 初始条件,循环条件,状态改变,循环体. 执行过程: 初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面分号隔开,for的小括号后不要加 ...
- 基本算法思想之穷举法(C++语言描述)
穷举算法(Exhaustive Attack method)是最简单的一种算法,其依赖于计算机的强大计算能力来穷尽每一种可能性,从而达到求解问题的目的.穷举算法效率不高,但是适应于一些没有规律可循的场 ...
- 通过穷举法快速破解excel或word加密文档最高15位密码
1.打开文件 2.工具 --- 宏 ---- 录制新宏 --- 输入名字如 :aa 3.停止录制 ( 这样得到一个空宏 ) 4.工具 --- 宏 ---- 宏 , 选 aa, 点编辑按钮 5.删除窗口 ...
随机推荐
- 11.Events
1.A type that defines an event member allows the type (or instances of the type) to notify other obj ...
- [SAP ABAP开发技术总结]BAPI调用
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- FZU 2215 Simple Polynomial Problem(简单多项式问题)
Description 题目描述 You are given an polynomial of x consisting of only addition marks, multiplication ...
- 【CC评网】2013.第41周 不求排版,简单就好
书单 碰上国庆,加上这周,消化掉几本书: <软件随想录>:Joel的随想录,也就是他Blog上的文章的摘选:整本书看下来轻松:写了篇读书笔记[传送门]: <中国在梁庄>:这本书 ...
- 将图片转成base64 小工具
工作需要使用,所以就做了一个小工具,方便使用 推荐使用 chrome,ff . 毕竟是个小工具方便自己使用而已,所以没有做浏览器兼容测试了! 代码如下,直接保存为 .html 打开即可 <!DO ...
- ruby的正则表达式-scan方法
irb(main):001:0> str_vps=%Q{viewpoint_ids: [{"id":"260e053b-d728-4785-888d-eb4f1ca ...
- JSON的操作
今天遇到了一个要解析JSON的需求.在http://stackoverflow.com/questions/1826727/how-do-i-parse-json-with-ruby-on-rails ...
- img_jquerydim
- C++中关于new及内存地址的思考
OJ题刷多了,每次都是直接分配内存,那么,你还记得怎么动态分配内存吗? ———————————————————————————————————— 我们知道,使用malloc/calloc等分配内存的函 ...
- DDL之操作表
DDL之操作表 DDL是数据定义语言,用来定义数据库对象:数据库.表.列等.其中定义数据库我们已经在DDL之操作数据库中详细讲解了,今天我们来学习使用DDL操作表. 1.创建表 使用数据定义语言创建表 ...