[英]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.