このプログラムは、ユーザが入力した数字の数字を読み取り、繰り返し数字を確認するものとします。プログラムは、ユーザーが0以下を入力するまで番号を要求し続ける。それは、あなたが繰り返し数字を入力すると、あなたに伝えるという意味で主に機能する。ただし、別の番号から同じ数字を入力すると、それは繰り返し数字と見なされます。たとえば、1つのインスタンスに23が入力され、次に別のインスタンスに23が入力された場合、入力された新しい番号にないにもかかわらず、重複があるとみなされます。どのようにそれを修正するための任意のアイデア?あなたが別の番号呼び出しから同じ数字を入力した場合Cプログラムのエラー(完全にループを終了していません)
#include <stdio.h>
#include <stdbool.h> //as per C99 standard
int main (void)
{
bool digit_seen[10] = {false};
int digit;
long n;
while (1){
printf("Enter a number (enter 0 to terminate the program): ");
scanf("%ld", &n);
if (n == 0){
break;
}
while (n > 0){
digit = n % 10;
if (digit_seen[digit]){
break;
}
digit_seen[digit] = true;
n /= 10;
}
if (n > 0){
printf("Repeated digit\n");
} else {
printf("No repeated digit\n");
}
}
return 0;
}
"繰り返し数字"の定義は何ですか? – artm
入力した数字に数字が複数回表示される場合。例えば、数字2324が入力され、繰り返し数字は2です。 – Noah210012