计数问题

计算在区间1到n的所有整数中,数字x(0<x<9)出现的次数?例如在1到11中,1出现了4次。

#include<stdio.h>
#include<stdlib.h>

int CountX(int n,int x)
{
    int yushu,res;
    int count = 0;
    if(n == 0 && x == 0)
    {
        count = 1;
    }
    else if(n == 0 && x != 0)
    {
        count = 0;
    }
    else
    {
        yushu = n%10;
        res = n/10;
        if(yushu == x)
            count++;
        while(res)
        {
            yushu = res % 10;
            if(yushu == x)
                count++;
            res = res / 10;
        }
    }
    return count;
}

int main()
{
    int n,x;
    scanf("%d%d",&n,&x);
    int count = 0,i;
    for(i=1;i<=n;i++)
    {
        count+=CountX(i,x);
    }
    printf("%d",count);
    return 0;
}

 

posted @ 2022-07-13 21:17  kangobs  阅读(76)  评论(0)    收藏  举报