第三章 C#程序结构 (3.3 循环结构)
(1) while循环
当表达式为真,则执行下面的语句;语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。
【案例】
输入一字符串,以按Enter键结束,统计该字符中英文字符、数字字符及其他字符的个数。
【案例目的】
掌握while语句的用法。
【代码及分析】
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
char c = Convert.ToChar(Console.Read());
int n = ;//n为统计一共输入了多少个字符
int nz = , ns = ,nq = ;
while (c != '\n')
{
if ((c >= 'a' && c <= 'z')|| (c >= 'A' && c<= 'Z'))//表示不管输入的英文字母是大小写都一并统计
nz++;//统计英文字符的变量 else if (c>=''&&c<='')//输入的数字字符统计
ns++;//统计数字字符的变量 else
nq++;//统计其他字符的变量 c = Convert.ToChar(Console.Read());
n++;
}
Console.WriteLine("一共输入{0}个字符,其中英文字符有{1},数字字符有{2},其他字符有{3}", n - , nz, ns, nq - );
Console.ReadLine();
}
}
}
运行结果如下:

(2)do-while循环
do…while 是先执行一次循环体,然后再判别表达式
【案例】
本案例输入一个自然数,要求将自然数的每一位数字按反序输出,例如:输入0254131,输出1314520 。
【案例目的】
掌握do-while循环语句及与while语句的区别。
【代码及分析】
namespace ConsoleApp4
{
class Program
{
static void Main(string[] args)
{
int num, digital;
Console.WriteLine("请输入一个自然数:");
num = int.Parse(Console.ReadLine());
do
{
digital = num % ;
num /= ;
Console.Write(digital);
} while (num > );
Console.ReadLine();
}
}
}
运行结果如下:

(3)for循环
表达式 1 首先执行且只执行一次;然后执行表达式 2,通常都是一个用于判定条件的表达式,如果表达式 2 条件成立,就执行(需要执行的语句);然后再执行表达式 3;再判断表达式 2,执行(需要执行的语句);再执行表达式 3.....一直到表达式 2 不成立时,跳出循环继续执行循环后面的语句。
【案例1】求阶乘的和
【代码】
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
int sum = ;
int n = int.Parse(Console.ReadLine());
for (int i = ; i < n; i++)
{
int sum1 = ;//定义变量sum1,每次循环都赋予其初始值1,求阶乘专用
for (int j = ; j <= i + ; j++)
{
sum1 = sum1 * j;
}
sum = sum + sum1;//将每次阶乘的和相加
}
Console.WriteLine(sum);
Console.ReadLine();
}
}
}
运行结果如下:

第三章 C#程序结构 (3.3 循环结构)的更多相关文章
- 《算法》第三章部分程序 part 6
▶ 书中第三章部分程序,加上自己补充的代码,包含双向索引表.文建索引.稀疏向量类型 ● 双向索引表 package package01; import edu.princeton.cs.algs4.S ...
- 《算法》第三章部分程序 part 5
▶ 书中第三章部分程序,加上自己补充的代码,包含公共符号表.集合类型 ● 公共符号表,用于普通查找表的基本类 package package01; import java.util.NoSuchEle ...
- 《算法》第三章部分程序 part 4
▶ 书中第三章部分程序,加上自己补充的代码,包括散列表.线性探查表 ● 散列表 package package01; import edu.princeton.cs.algs4.Queue; impo ...
- 《算法》第三章部分程序 part 3
▶ 书中第三章部分程序,加上自己补充的代码,红黑树 ● 红黑树,大部分方法与注释与二叉树相同 package package01; import java.util.NoSuchElementExce ...
- 《算法》第三章部分程序 part 2
▶ 书中第三章部分程序,加上自己补充的代码,平衡二叉搜索树 ● 平衡二叉搜索树 package package01; import java.util.NoSuchElementException; ...
- 《算法》第三章部分程序 part 1
▶ 书中第三章部分程序,加上自己补充的代码,包括单词频率统计,(单链表)顺序查找表,二分查找表 ● 单词频率统计 package package01; import edu.princeton.cs. ...
- 第三章 C#程序结构(3.1 顺序与选择结构)
[案例]输入某一学生的成绩,输出其对应的档次.具体规定:90分以上为优秀,80分以上至89分为良好,70分至79分为一般,60分至69分为合格,59以下为不及格.如果输入的分数小于0或大于100,则输 ...
- 第四章:条件语句(if)和循环结构(while)
1.流程控制 含义与作用 Python程序执行,一定按照某种规律在执行 a.宏观一定是自上而下(逻辑上方代码一定比逻辑下方代码先执行):顺序结构b.遇到需要条件判断选择不同执行路线的执行方式:分支结构 ...
- JS 选择结构语句与循环结构语句
笔记整理自:廖雪峰老师的JS教程 选择结构 与Java使用一致. 需要注意的 JavaScript把null.undefined.0.NaN和空字符串''视为false,其他值一概视为true. 循环 ...
- 第三章 C#程序结构[3.2 选择结构的应用(Windows窗体应用程序)(四)]
[案例]设计一个顾客选购商品的系统.其中,顾客身份有两类,一类是VIP,另一类是普通会员:商品种类有3种.分别是上衣.裤子和鞋子.其中,VIP享受8折优惠和商店赠送的礼品,而普通会员都不享受.单击[确 ...
随机推荐
- Big Txt File(一)
对于当今的数据集来说,动不动就上G的大小,市面的软件大多不支持,所以需要自己写一个. 常见的txt文本行形式存储的时候也不过是行数多些而已,可以考虑只观测部分行的方式,基于这个思路可以搞一个大数据的浏 ...
- 北大poj- 1013
Counterfeit Dollar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 50515 Accepted: 15 ...
- CSS3 正方体
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 今天想写一下关于SpringMVC的视图解释器
昨天我写了一下SpringMVC最爱金丹的项目的配置流程,这样搭建完项目之后呢我发现我每个请求都得加个.do什么的后缀,这让我开发得很不爽,于是呢今天就想配置一下这个试图解释器,这样做的目的有两个:第 ...
- TabLayout下划线指示器自适应文字宽度
解决方案1: 更新design库到28.0.0-rc01 implementation 'com.android.support:design:28.0.0-rc01' 然后在TabLayout里设置 ...
- JAVA对mongodb的基本操作
public class test3 { //连接数据库(不需要验证,用于测试连接本地的mongodb) public static MongoDatabase getDatabase(String ...
- php 调用接口
1.一般常用方法 file_get_contents(): 今天调用了一个反人类的接口,接口是get方式传输,里面有一个参数是当前时间,没错,不是时间戳,是当前格式化的时间:2017-8-9 11:1 ...
- iOS开发之UIGestureRecognizer
一:首先查看一下关于UIGestureRecognizer的定义 //当前手势状态 typedef NS_ENUM(NSInteger, UIGestureRecognizerState) { //尚 ...
- [转]JAVA 根据经纬度算出附近的正方形的四个角的经纬度
csv文件转化为geojson文件中,涉及到路测图的打点生成,打点是由一个个正方形组成,而正方形是由四个点组成的,这四个点根据经纬度和范围生成,具体的实现代码是从网上找来的: /** * * @par ...
- bug狩猎
最近需求少了,终于有时间修一下底层的bug,做一点工具方便查bug,写篇文章简单记录一下. 一是优化了一个玩法进程的启动速度.这个玩法需要用战力做匹配,玩家按战力分段放进不同的桶里,每个桶用skipl ...