intで同じ使用された数値の数を数えたいと思います。重複するintを数える方法
ifループは機能しませんなぜですか?
#include <stdio.h>
int main(void){
unsigned int digit;
unsigned int n;
int current_digit;
scanf("%u", &digit);
scanf("%u", &n);
int i = 0;
while(current_digit != n) {
current_digit = n % 10;
n /= 10;
printf("%i", current_digit);
if (current_digit == digit){
i++;
}
}
printf("%d", i);
}
私はn
に使用されているどのように多くの時間digit
チェックする場合はループをしたいです。しかし、ifループは正しく動作しません。
例:1はn
で5回使用が、出力されているので、digit
= 1 n
= 11111そして、結果は5であるべき4
単一のintオブジェクトは、一度に1つの値しか保持できません。 。数字を数字で入力します。最初に整数変数に変換した後、1桁に戻す理由は何ですか? – Olaf
@Olafさんが言ったことを詳述するために、 'if(digit == n)'はあなたが達成しようとしているものの欠陥のあるコンセプトです。 @EugeneSh。 –
私の悪い - 私は彼が最も頻繁に発生した数字を望んだと思った - 私はコメントを削除します。 –