我遇到了一些麻烦...我正在尝试输入一个数字,后跟一个由多个数字组成的整数。我试图计算第一个数字在整数中出现的次数。 现在,我编写了这段非常简单的代码来向您展示我实际上想要做什么。问题是,这段代码只比较两个整数并告诉我它们是否相同。请注意,我对 C 编程非常缺乏经验,因此这个问题......
int main(){
int numberOne;
int numberTwo;
int count = 0;
scanf("%d", &numberOne);
scanf("%d", &numberTwo);
if(numberOne == numberTwo){
count++;
}
printf("Amount of equals found: %d", count);
return 0;
}
现在,如果我有以下输入:“1 1021023234”,输出将为:“找到的等于数量:0” 输出应该是(在本例中)“输出将是找到的等于数量:2”
希望大家能给我一些建议。
最佳答案
如果我理解正确,那么您需要以下内容
#include <stdio.h>
int main(void)
{
unsigned int numberOne;
unsigned int numberTwo;
unsigned int x;
unsigned int base;
size_t n;
printf( "Enter first number: " );
scanf( "%u", &numberOne );
printf( "Enter second number: " );
scanf( "%u", &numberTwo );
x = numberOne;
base = 1;
do { base *= 10; } while ( x /= 10 );
n = 0;
do { n += numberOne == numberTwo % base; } while ( numberTwo /= 10 );
printf( "Amount of equals found: %u", n );
return 0;
}
对于数字12
和76512612
,输出为
Amount of equals found: 2
关于C 计算整数中特定数字的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26063237/