首页 > 代码库 > 25.(需要好好研究研究)输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值

25.(需要好好研究研究)输入任意的正整数,将其各位分离出来;求它是几位数,求各位上数字的和,求其逆值

#include<iostream>using namespace std;int main(){    int m,n,i,j=1,k=0,a[20],x,y;    cout<<"请输入一个整数:";    cin>>m;//输入的数为m    y=m;//先将m赋值给y,将原始输入的数保护起来    for(i=1;;i++)//中间的判断条件可以不要,就变成了死循环    {        j*=10;        n=m/j;        a[i]=n;        k++;//用于记录有几位数                if(n<1)//循环退出条件        {            break;        }    }    int b=1,c,d=0;    for(i=1;i<=k;i++)    {        b*=10;        //cout<<b<<endl;    }    cout<<"你输入的数字各位分别是:";    for(i=k;i>0;i--)    {        b=b/10;        c=m/b;        m=m-c*b;        d+=c;        cout<<c<<"  ";    }    cout<<endl;    cout<<"你输入的数字是"<<k<<"位数\n";    cout<<"各位上的数字之和为:"<<d<<endl;    x=0;    do{        x=x*10+y%10;        y=y/10;    }while(y!=0);    cout<<"逆序输出为:"<<x;    cout<<endl;    return 0;}