int main() {
int number, factor = 1, temp, sum = 0;
scanf ("%d", &number);
temp = number;
while(temp) {
temp = temp % 10;
factor = factor *10;
};
while(factor > 1) {
factor = factor / 10;
sum += (number / factor);
number = number % factor;
};
printf("sum is %d\n");
}
プログラムを実行するたびに、scanfステートメントが実行を開始するとすぐに何度も繰り返され、プログラムは入力の入力を継続的に停止します。
あなたのプログラムは、入力された数のクロスサムを計算することになっていると思います。
だからあなたはおそらくこれが欲しいでしょう:
int main() {
int number, factor = 1, temp, sum = 0;
scanf("%d", &number);
temp = number;
while (temp) {
temp = temp / 10;
factor = factor * 10;
};
while (factor > 1) {
factor = factor / 10;
sum += (number / factor);
number = number % factor;
};
printf("sum is %d\n", sum);
}
コードには2つの問題があります。
temp = temp % 10
-> temp = temp / 10
。%
は「モジュロ」演算子であり、「除算」演算子が必要ですprintf("sum is %d\n")
-> printf("sum is %d\n", sum)
したがって、問題はとはまったく関係がありませんscanf
でした。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加