首页 > 代码库 > 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;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。