当前位置:首页 > Windows程序 > 正文

100以内的所有的能被3整除或者被5整除余2的数(一)(流程控制)

2021-03-29 Windows程序

我们思考一下怎么写这个程序。流程如下:

解释一下上面的流程图。

首先声明变量a=0;

判断一下a是否在0到100;

如果不在,则结束,如果在的话,我们再判断一下a是否能被3整除或者被5整除余2;

如果上一步真,则输出a,并且执行i++,然后循环至第二步,如果上一步为假,那么直接执行i++;

直至程序结束。

以上的过程不是很难理解,多看几次就明白了。问题在于我们之前学的知识无法解决这里的判断或者循环问题。今天我们就来学流程控制。

  判断或者选择(if   esle)

先来介绍其语法格式,常见的有两种:

第一种:

if (这里写逻辑表达式) { 当上面逻辑表达式结果为真的时候,执行这里的代码 } else { 当上面逻辑表达式结果为假的时候,执行这里的代码 }

第二种:

if (这里写逻辑表达式1) { 当上面逻辑表达式1结果为真的时候,执行这里的代码 } if (这里写逻辑表达式2) { 当上面逻辑表达式2结果为真的时候,执行这里的代码 } ...... else { 当上面逻辑表达式结果全部为假的时候,执行这里的代码 }

当然,还有其他的变种,也就是灵活运用的结果。例如第一种的嵌套,还有就是只有if语句,省略了else语句。

下面我们写几个例子:

例1  给定一个数,判断是否是偶数还是奇数,并输出结果

这里我们先不通过键盘输入数,先写死到程序里,例如下面的程序:

int a = 7; if (a % 2 == 0) { Console.WriteLine("这个数是偶数"); } else { Console.WriteLine("这个数是奇数"); }

分析:给定这个数后,我们要先判断是不是偶数。(怎么判断呢,当然是除2取余数啦)我们把条件判断写在if后面的圆括号里面。如果是真的,那就执行if下面的花括号内的内容,也就是输出这个数是偶数,否则执行else部分,输出这个数是奇数(除了奇数不就是偶数么,莫非你还想说有小数?)

例2 给定一个数,判断能否被3整除,如果能,则输出可以被3整除,如果能被5整除,,再输出可以被5整除,否则输出此数既不是3的倍数,也不是5的倍数

先来分析一下,这个题需要判断两次,第一次是3的倍数,第二次是5的倍数,很显然,需要if的第二种格式。代码如下:

int a = 7; if (a % 3 == 0) { Console.WriteLine("这个数是3的倍数"); } if (a % 5 == 0) { Console.WriteLine("这个数是5的倍数"); } else { Console.WriteLine("这个数是既不是3的倍数也不是5的倍数"); }

我想你写的和我的是一样的。

从上面两个例子看出来,选择或者判断流程不是很难,只要给定判断条件,就可以进行判断了。

思考下面的一个问题,学校里在进行成绩分级时通常这么做,如果你是优,则代表你是90-100的分数段,如果是良,则80-89,中70-79,及格60-69,不及格60一下,那么我们怎么用程序表达呢?

你是否想用第二种形式的呢?但是我觉得还是太麻烦,得写5个if,是否有简单的写法呢?先看我给出的程序:

string score = ""; switch (score) { case "": Console.WriteLine("你的成绩在90-100"); break; case "": Console.WriteLine("你的成绩在80-89"); break; case "": Console.WriteLine("你的成绩在70-79"); break; case "及格": Console.WriteLine("你的成绩在60-69"); break; case "不及格": Console.WriteLine("你的成绩在0-59"); break; default: Console.WriteLine("你给的等级不存在!"); break; }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/69641.html