منطق من اشتباه است یا کمپایلر ++C
سوال : برنامه ای بنوسیدکه یک عدد دریافت کند ونشان دهد این عدد چند رقم (زوج - فرد- صفر) دارد
جواب:
[HTML] #include "iostream.h"
#include "conio.h"
long int main()
{
long int num=0, save=0, odd=0, even=0, zero=0, k;
cout<<"Enter an integer number : ";
cin>>num;
while((num/10)>=1)
{
save=0;
save=(num%10);
if (save==0)
zero++;
else
{
if ((save%2)==0)
even++;
else
odd++;
}
num=(num/10);
}
cout<<"Even is : "<<even<<endl;
cout<<"Odd is : "<<odd<<endl;
cout<<"Zero is : "<<zero<<endl;
cin>>k;
return 0;
}
[/HTML]
خب کسی میتونه بگه چرا این برنامه نمیتونه جواب صحیح رو بدست بیاره؟
یعنی منطق من اشتباه میکنه؟
در ضمن این برنامه erorr نمیدهد فقط جواب صحیح نمیدهد!
مثلا برای عدد 1234567890
جواب این است:
even is :4
odd is : 4
zero is : 0