记数问题
题意
试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?
思路
- 不断取余取出每一位数
遇到要找的数计数器+1
坑点
- 无
实现步骤
使用while循环取余,取到不能取为止
代码
#include<stdio.h>
int main()
{
int n,x;//n为上限,x为要统计的数字
scanf("%d %d",&n,&x);
int sum=0;//计数总数
int t;//工具人
for(int i=1;i<=n;i++)//循环n次以达到从1数到n的效果
{
t=i;//工具人首先与该次循环到的数相同
while(tool>0)//工具人不为0时
{
int c=t%10;//变量c用储存个位数。
t=t/10;//降低tool的位数,只删除了各位,原先十位变成了个位。
if(c==x)//个位数与要统计的数字x相同时sum加1,通过循环直至把这个数除为0。
{
sum++;
}
}
}
printf("%d\n",sum);
return 0;
}