目录
代码实现:
#include <stdio.h>
int main()
{
int i = 0;
int count = 0;
for (i = 1; i <= 100; i ++)
{
if (i % 10 == 9)
{
count++;
}
if (i / 10 == 9)
{
count++;
}
}
printf("count=%d\n", count);
return 0;
}
代码讲解:
1到 100 的所有整数中出现数字9的数字有:
9,19,29,39,49,59,69,79,89,99,
90,91,92,93,94,95,96,97,98,
总结:
- 个位出现9
- 十位出现9
当一个数%10(余数)是9的时候,说明该数字个位是9;
当一个数/10(商)是9的时候,说明该数字十位是9。
#include <stdio.h>
int main()
{
int i = 0;
int count = 0;//计数
for (i = 1; i <= 100; i ++)
{
//判断个位
if (i % 10 == 9)
{
count++;
}
//判断十位
if (i / 10 == 9)
{
count++;
}
}
printf("count=%d\n", count);
return 0;
}
运行结果:
count=20;
注意:
1、因为个位有9的数字有10个;十位数字有9的数字有10个。(99统计了两次)
但是如果:
#include <stdio.h>
int main()
{
int i = 0;
int count = 0;//计数
for (i = 1; i <= 100; i ++)
{
if (i % 10 == 9)
{
count++;
}
else if (i / 10 == 9)
{
count++;
}
}
printf("count=%d\n", count);
return 0;
}//count=19
因为if和else语句只会进去一个语句;写两个if语句就会两个语句都判断一下。
2、
if ((i % 10 == 9) || (i / 10 == 9)); ×
中间是或,左边为真时,右边就不算了,对于99依然只统计了1次。
拓展:
编写程序数一下 1到 100 的所有整数中出现多少个数字8、7、6等都可以用此方法。