将整数反复除以10,直到商为0,执行除法的次数就是该整数所含数字的位数。
由于整数至少有一位,故用do…while循环较为合适。
#include <iostream>
using namespace std;
int main()
{
int x,tempx,digits=0;
cin>>x;
tempx=x;
do{
digits++;
x=x/10;
}while(x!=0);
cout<<tempx<<"有"<<digits<<"位数"<<endl;
system("pause");
return 0;
}