0-100含9的数字有多少个 什么情况下使用 if 语句不能有 else

         

        If循环最经典的是if-------else  语句,但是在有的场景中不适合带else来进行判断。0-100出现9的数字有几个这个就是经典典例。

         写编程,就是要将编程数字化,以数学的形式呈现,在进行编程。

         如是求0-100出现的数字是多少,就能得出。9 19 29 39 49 59 69 79 89 99 91 92 93 94 95 96 97 98 这么多数字,如果用代码来实现,之后就可以写代码了。

        写代码先写一个主函数

#include<stdio.h>
int main()
{
	
	return 0;
}

        之后我们要实现从0-一百的数字,这时候for循环比较合适,这时候我们用for循环。(一定要注意先定义变量)

#include<stdio.h>
int main()
{
	int i = 0; //定义初始变量
	int j = 0; //定义初始变量
	for (i = 1; i <= 100; i++) //利用for循环来实现1-100个数字
	{
		
	}
	return 0;
}

        这时候我们便实现了0-100个数字,下面要思考的问题是我们如何得出,出现九的数字。我们看到 9 19 29 39 49 59 69 79 89 99 这些都是个位上含有九的,如果我们的 i%10 是不是 能实现个位是带 9 的数字。这时候我们就开始写能让个位满足条件的语句

#include<stdio.h>
int main()
{
	int i = 0; //定义初始变量
	int j = 0; //定义初始变量
	for (i = 1; i <= 100; i++) //利用for循环来实现1-100个数字
	{
		if (i % 10 == 9) //用第一个if语句来判断像 9 19 等个位带 9 的数字
			j++; //判断成功个数加一
	}

	return 0;
}

        因为是含有九的个数所以我们在 if 判断后给前面定义的变量加一,如果是个位上的是  9 就对 j 加1,这时候我们就要对 90 91 92 93 94 95 96 97 98 99 这些情况进行判断.

        怎么判断,对他们  / 10 不就行了,但是我们可以看到 无论是上面还是下面都出现了 99 这个数字,如果我下面用 else 语句 会导致下面也对 99 进行判断 这时候结果就错了。

        怎么办,如果使用 两个 if 嵌套进行判断就不会出现这个问题了,当年上面走到 99 进行判断的时候,当判断过就直接会跳出 if 不会在进行判断了。

#include<stdio.h>
int main()
{
	int i = 0; //定义初始变量
	int j = 0; //定义初始变量
	for (i = 1; i <= 100; i++) //利用for循环来实现1-100个数字
	{
		if (i % 10 == 9) //用第一个if语句来判断像 9 19 等个位带 9 的数字
			j++; //判断成功个数加一
			if (i / 10 == 9) //用第二个来判断 91 92 等十位带九的数字
				j++;
	}
	printf("1-100出现带9的数字有:%d个\n",j);
	return 0;
}

        由此我们可以得出一个结论,当有一个事物它可以同时满足两种,两种以上的情况时,如何要用到 if 语句便不适合用 if else 语句,对多个 if 语句进行嵌套 可能会比较好一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值