#include <iostream>
using namespace std;
int FindDigits(int num);
int main()
{
int test;
cin >> test;
FindDigits(test);
return 0;
}
int FindDigits(int num)
{
int n = num;
int digit, count;
while (num > 0)
{
digit = num % 10;
if (digit == 1) {count++;}
else if (digit>0 && num%digit == 0)
{
count++;
}
num/=10;
}
cout << count;
return 0;
}
此代碼總是給出相同的輸出(16.58),無論輸入是什麼。有人能解釋爲什麼嗎?任何建議,將不勝感激。C++代碼爲每個輸入提供相同的輸出
使用調試器,盧克! –
你可能在某個時刻調製0,這與除以0一樣糟糕。 – BWG
另外,我不確定在輸入是正整數的情況下,while條件是否會退出。但是,是的,請使用調試器;-) – Luca