入力された値に繰り返し数字があるかどうかを確認するプログラムを作る必要があります。ユーザーは、入力された値が0になるまで番号を入力するよう求められます。繰り返される数字がある場合は、「繰り返し数字」を表示し、ユーザーに別の値を入力するように求めます。繰り返し数字がない場合は、「繰り返し数字なし」と表示され、別の番号を入力するように求められます。これまでのところ、これは私が持っているものです。 0が入力されたときにプログラムを終了させますが、何かがあっても常に「繰り返し数字なし」を表示します。数字の繰り返し数字を見つけるためにcで配列を使用する(C)
#include <stdbool.h>
#include <stdio.h>
int main(void)
{
bool digit_seen[10] = {false};
int digit;
long int n = 0;
printf("Enter a number: ");
scanf("%ld", &n);
while(n >= 0){
if(n==0)
break;
while (n > 0){
digit = n % 10;
if (digit_seen[digit]){
digit_seen[digit] = true;
break;
}
n /= 10;
}
if (n > 0)
printf("Repeated digit: %d\n", digit);
else
printf("No repeated digit\n");
scanf("%ld", &n);
}
return 0;
}
'しばらく(N> = 0){場合(nは== 0)ブレーク:あなたはがやるべきことは、このようなものです。 – melpomene
'digit_seen'の要素を' true'に設定することはありません。 – melpomene
if(!digit_seen [digit]){... – Sterls