编写程序数一下 1到 100 的所有整数中出现多少个数字9

思路:对于这个问题我们首先想到的是先利用循环游历一边1到100的所有数字,再在循环体内判断整数的个位或者百位是否会出现9,如果出现9则计数变量加1

编写程序数一下 1到 100 的所有整数中出现多少个数字9_第1张图片

这段代码输出的结果为

编写程序数一下 1到 100 的所有整数中出现多少个数字9_第2张图片

但这段代码存在一个小问题。99这个整数他的十位数和个位数均出现了9,但是由于if选择结构的性质,他只能选择一个分支进入,从而导致少数一次。

如何解决这个问题呢:我们只需要将第二个选择结构的else删掉就可以

编写程序数一下 1到 100 的所有整数中出现多少个数字9_第3张图片

那么这段代码输出的结果为

编写程序数一下 1到 100 的所有整数中出现多少个数字9_第4张图片

代码介绍:

1.初始化两个整数变量num1和num2,用于计数。num1用于统计个位上出现9的次数,num2用于统计十位上出现9的次数。

2.使用一个for循环遍历1到100之间的所有整数。

3.在循环内部,首先判断当前整数i的个位是否为9。如果是,那么num1变量增加1,表示个位上的9出现了num1次。

4.接着,使用另一个if语句判断当前整数i的十位是否为9。如果是,那么num2变量增加1,表示十位上的9出现了num2次。

5.循环结束后,使用printf函数输出num1和num2的和,即1到100之间所有整数中数字9出现的总次数。

你可能感兴趣的:(算法,c语言)