编写程序,提示用户输入一个正整数,计算出该数字的位数并把找出每一位上的数字。嵌入头文件cmath后,可用函数pow计算一个数x的n次方, 格式为pow(x,n)。
例如:输入数字12345,程序运行结果为
12345是一个5位数
各位上的数字从高到低分别为:
12345
请把问题写清楚,各位上的数字从高到低分别为:12345????
代码如下:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n,ws=1,t=1;
cin >> n;
while(n/t>=10)
{
t = pow((double)10,ws);
ws++;
}
cout << n << "是一个" << ws << "位数"<<endl;
cout << "各位上的数字从高到低分别为:"<<endl;
for(int i = 1;i<=ws;i++)
{
t = pow((double)10,ws-i);
cout << n/t << " ";
n = n%t;
}
return 0;
}