今天我们继续讲c语言强大的算法
首先我们先解决昨天的问题:
先输出在一万以内3和4的倍数,再让个位数上是6的数都相加,打印出来,并且将这个数和用户输入的一个数相加并且将他藏进三和四的倍数的末流中。
scanf ("%d",&e);是用来获取用户输入的整数的,并且将他赋值给e
for (c = 3;c < 10001;c++)这是用来遍历从3到10000的所有自然数
if (c % a == 0 && c % b == 0)
{
printf ("%d\n",c);
如果这一个自然数c可以整除掉3和4,那么打印这个数。
if (c % 10 == 6)
{
d = c + d;
}
如果这个数的尾数是六,那么就让他加上用户之前输入的那个数。
因为这个if写在for循环里,所以这个数会不停的被增大,直到不满足条件为止。
剩下的就很简单啦,我们废话不多说,速度开始今天的课程:
switch语句。
首先我们先讲他是做什么的,switch 语句可以处理多分支选择问题,在以后我们做游戏,肯定得要判断用户是否满足某个条件,如果全写if else的话,代码可读性会变的很差,而且不利于后期的维护,而switch语句就完美的解决了这个问题。
先讲格式:
他的用法是先获取括号内表达式的值,如果是一个算式,就先计算,然后将这个值与后面的每一个case去比较,如果满足了case后面的常量表达式的条件,那么就执行那个case后面的语句。
怎么样,是不是很简单?
那我们就用这个来判断一下今天是星期几:
如果你真的这么敲了,你会发现,他不仅执行了满足那一个条件的case,还执行了剩下的所有case,没有去判断了。
这就是很多新手都会犯的一个错误:忘了加break语句用来跳出switch语句。
如果我们接下来在后面敲上break,还会有这样的错吗?
我们可以看到加了break以后就没有出现刚才那一奇怪的情况了。所以大家以后在敲代码的时候,一定要记住避免出现像刚才那样的情况哦!
我们再讲最下面的default。
这个的作用是:如果上面的每一个case都不满足条件,那么就会执行default后的语句。
如果switch语句里不包含default的话,一旦出现不满足每一个case的情况,那就什么都不执行,跳过这一个switch语句,继续执行后面的其他代码。
default可以不加break语句用来跳出switch语句,因为他就是最后一个语句,就算不跳出,后面也没有合适的语句给他执行了,所以不需要加,加了也不会报错。