繁体   English   中英

计算 C 中给定数字上存在多少特定数字

[英]Count how many of a certain digit is present on a given number in C

使用while循环,我需要计算第二个输入整数的数字中存在多少第一个整数(0-9)并打印结果。

输入样本:2、124218

输出样本:2

这是我的代码如下:

#include<stdio.h>
int main() {
    int a;
    int num; 
    int i;
    int rev = 0;
    int reminder;
    int count = 1;
    int ans;
    int last;

    scanf("%d",&a);
    scanf("%d", &num );

    while(num!=0)
    {
        reminder=num%10;
        rev=rev*10+reminder;
        num/=10;

        if(a==reminder){
            ans++; 

            last = ans%10;
    
            printf("%d", last);
        }
        count++; 
    }
    return 0;
}
#include<stdio.h>
#include<stdlib.h>
int main() {
int a, num, remainder, count = 0;

scanf("%d",&a);
scanf("%d",&num );
int temp = abs(num);
while(temp!=0)
{
    remainder=temp%10;
    temp/=10;
    if(a==remainder)
        count++; 
}
printf("%d",count);
return 0;
}
int count_digit(const unsigned digit, int number)
{
    int count = 0;
    if(digit < 10)
    {
        while(number)
        {
            if(digit == abs(number % 10)) count++;
            number /= 10;
        }
    }
    else
    {
        count = -1;  //error 
    }
    return count;
}

int main(void)
{
    printf("%d\n", count_digit(5, 455675));
    printf("%d\n", count_digit(3, -35633435));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM