用c++编程:给出一个不多于5位的正整数,要求,求出它是几位数,分别输出每一位数字,按逆序打印每个数

例如:

输入格式:123(回车)

输出:3

1 2 3

321

#include <iostream>

using namespace std;

void main()

{

 const int N=10;

 int a[N];

 int count=1;

 cout<<"请输入一个数字";

 int n,i=0;

 cin>>n;

int m=n;

 while(n>=10)

 {

  count++;

  a[i++]=n%10;

  n=n/10;

 }

 a[i]=n;

 cout<<count<<"\n"<<m<<endl;

  for(i=0;i<count;i++)

   cout<<a[i]<<" ";

  cout<<endl;

}

请看图,成功

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-16
#include <iostream>
using namespace std;
void main()
{
int n,a,b,c,d;
cout<<"please input the number:"<<endl;
cin>>n;
if(n/1000>=1&&n/1000<10) //四位数的情况
{
a=n/1000;//千位数
b=n%1000/100;//百位数
c=n%1000%100/10;//十位数
d=n%10;//个位数
printf("4\n");
printf("%d\n",n);
printf("%d%d%d%d",d,c,b,a);
printf("\n");
}
if(n/100>=1&&n/100<10) //三位数的情况
{
a=n/100;
b=n%100/10;
c=n%10;
printf("3\n");
printf("%d\n",n);
printf("%d%d%d",c,b,a);
printf("\n");
}
if(n/10>=1&&n/10<10)//两位数的情况
{
a=n/10;
b=n%10;
printf("2\n");
printf("%d",n);
printf("%d%d",b,a);
printf("\n");
}
}

因为一位数没有什么意思,所以旧没写。希望对你有帮助本回答被提问者采纳
第2个回答  2019-08-05
#include<stdio.h>
#include<math.h>
int main()
{
int n,m,i=1,x;
printf("enter n:");
scanf("%d",&n);
m=n;
x=n;
if(n>99999 || n<=0)
printf("请输入一个不多于5位数的正整数\n");
while(n>=10)
{
i++;
n=n/10;
}
printf("这是一个%d位数\n",i);
int a,b,c;
printf("按顺序分别输出:");
a=pow(10,(i-1));
b=a*10;
while(a>=1)
{
c=(x%b-x%a)/a;
printf(" %d ",c);
a=a/10;
b=b/10;
}
printf("\n");
printf("按逆序输出:");
while(m!=0)
{
printf("%d",m%10);
m/=10;
}
return 0;
}
第3个回答  2012-07-19
#include<stdio.h>
int main()
{
int a,i,z,n1;
int n=0;
scanf("%d",&a);
if((a>=0)&&(a<=100000))
{ int b=a;
while(a)
{
a=a/10;
n+=1;
}
printf("%d\n",n);

for(i=1;i<=n;i++)
{
z=b%10;
b=b/10;
printf("%d ",z);
}

}
}
第4个回答  2019-09-06

#include <iostream>

#include <iomanip>

using namespace std;

  int main()

  {

int m,n;

cin>>m;

if(m>99999)

cout<<"shu zi tai da ";

if(m>9999&&m<=99999)

{     

cout<<"this is 5 wei shu"<<endl;

int a,b,c,d;

a=m/10;//4位 

b=a/10;//3 

c=b/10;//2 

d=c/10;//1 

int e,f,g,h,j;

e=m%10;//得到末位数

f= a%10;//倒数第二位

g=b%10;//倒数第三位

h=c%10;//倒数第二位

j=d%10;//倒数第一位

n=e*10000+f*1000+g*100+h*10+j;


 cout<<n<<endl;

 return 0;

}

if(m>999&&m<=9999)

{

int l,o,p,q,r,s,t;

l=m/10;

o=l/10;

p=o/10;

q=m%10;

r=l%10;

s=o%10;

t=p%10;

n=q*1000+r*100+s*10+t;

cout<<"this is 4 wei shu"<<endl<<n<<endl;

}

if(m>99&&m<=999)

{

int A,B,C,D;

A=m/10; 

B=A/10;

C=m%10;

D=A%10;

n=C*100+D*10+B;

cout<<"this is 3 wei shu"<<endl;

cout<<n<<endl;

}

if(m>9&&m<=99)

{

int X,Y;

X=m/10;

Y=m%10;

n=Y*10+X;

cout<<"this is 2 wei shu"<<endl<<n<<endl;

}

if(m>=0&&m<=9)

{

cout<<"this is 1 wei shu "<<endl<<m<<endl;

}


return 0;


}


用c++编程:给出一个不多于5位的正整数,要求,求出它是几位数,分别输出每...
include <iostream> using namespace std;void main(){ const int N=10;int a[N];int count=1;cout<<"请输入一个数字";int n,i=0;cin>>n;int m=n;while(n>=10){ count++;a[i++]=n%10;n=n\/10;} a[i]=n;cout<<count<<"\\n"<<m<<endl;for(i=0;i<count;i++)cout<...

c++:给一个不多于5位的正整数,要求: 1、求出它是几位数2、分别输出每一...
n=a;

用C++给出一个不多于5位数的正整数,要求:1,求出它是几位数。2,分别输...
include<iostream> using namespace std;int main(){int a,b,c,d,e,f,g,h,i;int x=0;cout<<"请输入一个不多于5位的正整数";cin>>x;if(x<10000&&x>=0){if(x<10){cout<<"x是一位数"<<x;} else if(x>=10&&x<100){a=x\/10;b=x%10;cout<<"x是一个两位数"<<b<=100...

用c语言解下题。 给一个不多于五位的正整数,要求: 1.求出它是几位数...
我会使用比较大法,分别与10,100……比较输出位数,至于求每位数话,用对10求余

给出一个不多于5位数的正整数,要求求出他是几位数,分别打印出每一位...
a = x \/ 10000; \/* 分解出万位 *\/ b = x % 10000 \/ 1000; \/* 分解出千位 *\/ c = x % 1000 \/ 100; \/* 分解出百位 *\/ d = x % 100 \/ 10; \/* 分解出十位 *\/ e = x % 10; \/* 分解出个位 *\/ if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\\n", e...

c++编程 输入一个不多于5位的正整数,要求: (1)求出它是几位数;
include<iostream.h> void main(){ int num,count;cout<<"请输入一个五位以内的整数"<<endl;cin>>num;count=1;while(num\/10>0){ count++;num=num\/10;} cout<<"它是一个"<<count<<"位数"<<endl;}

c++编程 输入一个不多于5位的正整数,要求: (1)求出它是几位数;_百度知...
cout<<"请输入一个不多于五位的正整数:";cin>>num;\/\/ 输入数据 if (cin.bad()|| num <= 0 || num >= 100000){ \/\/ 如果输入的不是整数,或者小于0,或者大于5位数,报错重试 cin.clear();fflush(stdin);cout<<"输入错误!请重试!"< continue;} break;} \/\/ 逆序处理,同时算位数 ...

编写程序c++,输入一个不多于5位的正整数
\/*分别代表个位,十位,百位,千位,万位和位数*\/ cout<<"enter an integer(0~99999):";cin>>num;if (num>9999)place=5;else if (num>999)place=4;else if (num>99)place=3;else if (num>9)place=2;else place=1;cout<<"place="<<place<<endl;\/\/计算各位数字 ten_thousand=num...

输出一个不多于5的正整数
C++版本:include<iostream> include<string> using namespace std;string input;int len,i;int main(){ while(1){ printf("请输入任意位整数(输入“0”退出!):\\n");cin>>input;if(input=="0") break;len = input.length();printf("输入的整数为%d位数!!\\n",len);printf("逆序输出...

C++如何实现提示用户输入一个正整数,计算出该数字的位数并把找出每一...
int getLength(int num){ int i = 1;int temp = num;while(temp\/10 != 0){ ++i;temp \/= 10;} return i;} \/ 顺序输出数字num的各个位数 \/ void outputEveryNumber(int num){ int temp = num;int length = getLength(num);int flag = 1;for(int i =1;i<length;++i){ flag *...

相似回答