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.删除窗口 ...
随机推荐
- ARC 下处理内存暴涨的一个解决办法
有一种情况: ; i < ; i++) { NSString *s = @"ABC"; s = [s lowercaseString]; s = [s stringByApp ...
- C#垃圾回收机制(GC)
GC的前世与今生 虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久.早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是 ...
- iOS - OC NSSet 集合
前言 NSSet:集合 @interface NSSet<__covariant ObjectType> : NSObject <NSCopying, NSMutableCopyin ...
- Can of Worms 【迭代/线段树】
题意:一条直线上有n个炸弹,给出每个炸弹的爆炸半径,可以引爆另一个炸弹爆炸.问:每个炸弹爆炸后,最多有几个炸弹一起爆炸? 迭代,用线段树更新. #include <cstdio> #inc ...
- python中if __name__ == '__main__'
python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: “Make a script both importable and execut ...
- 使用Ant打包工具 基本介绍
由于使用java,javac,jar等工具进行编译打包,即繁琐低效又容易出错,因此Ant出现了. Ant的出现就是专门为了打包编译java代码的,使用之前得稍微学一下.Ant的运行起来主要是依靠配置文 ...
- php PDO链接SQL SERVER
操作系统Windows7 apache 2.2 php php-5.4.45-Win32-VC9-x86 sqlserver 2008 下载SQLSRV32 https://www.microsoft ...
- Maven——聚合与继承
原文:http://www.cnblogs.com/xdp-gacl/p/4058008.html 一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 ...
- mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database
新安装的mysql密码是空的. ./mysql -u root -p use mysql SELECT `Host`,`User` FROM user; UPDATE user SET `Host` ...
- 快速认识ELK中的L - Logstash
快速认识ELK中的L - Logstash 原创 2016-12-07 杜亦舒 简介 Logstash 是一个开源的数据采集引擎. Logstash 就像是一个管子,左面接数据源接收数据,右面接存储目 ...