用C++给出一个不多于5位数的正整数,要求:1,求出它是几位数。2,分别输出每一个数字。3,按逆序输出各数

 我来答
圃園商店
2009-08-02
知道答主
回答量:46
采纳率:0%
帮助的人:0
展开全部
这是潭号强 书上的吧 我来做
记得
给我加分哦
#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<<a;}
else
if(x>=100&&x<1000)

{c=x/100;
d=(x/10)%10;
e=(x%100)%10;
cout<<"x是一个三位数"<<e<<" "<<d<<" "<<c;}
else
if(x>=1000&&x<10000)

{f=x/1000;
g=(x/100)%10;
h=(x/10)%100%10;
i=x%1000%100%10;
cout<<"x是一个四位数"<<i<<h<<g<<f;}}
else
cout<<"你输入的数字不符合要求";

return 0;
}
w_wengang
2012-05-08
知道答主
回答量:13
采纳率:0%
帮助的人:4.7万
展开全部
#include<stdio.h>
main()
{int x,a,b,c,d,e,n,z;
printf("请输入一个不大于5位的数:");
scanf("%d",&x);
a=x/10000;
b=(x-a*10000)/1000;
c=(x-a*10000-b*1000)/100;
d=(x-a*10000-b*1000-c*100)/10;
e=x-a*10000-b*1000-c*100-d*10;
if (a>0)
n=5;
else
{ if (b>0)
n=4;
else
{ if (c>0)
n=3;
else
{ if (d>0)
n=2;
else
n=1;
}
}
}
printf("这是一个%d位数\n",n);
switch(n)
{
case 1:
{printf("个位是%d\n",e);
z=e;
printf("逆序输出是:%d\n",z);
break;}
case 2:
{printf("十位是%d\n个位是%d\n",d,e);
z=e*10+d;
printf("逆序输出是:%d\n",z);
break;}
case 3:
{printf("百位是%d\n十位是%d\n个位是%d\n",c,d,e);
z=e*100+d*10+c;
printf("逆序输出是:%d\n",z);
break;}
case 4:
{printf("千位是%d\n百位是%d\n十位是%d\n个位是%d\n",b,c,d,e);
z=e*1000+d*100+c*10+b;
printf("逆序输出是:%d\n",z);
break;}
case 5:
{printf("万位是%d\n千位是%d\n百位是%d\n十位是%d\n个位是%d\n",a,b,c,d,e);
z=e*10000+d*1000+c*100+b*10+a;
printf("逆序输出是:%d\n",z);
break;}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龍霸迗丅
2009-08-08
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
void main()
{
int num,a,b;
int c[10];
int sum=0;
scanf("%d",&num);
a=num;
while(num)
{
static int i=0;
c[i++]=num%10;
num/=10;
sum++;
}
printf("%d位数 \n",sum);

for(int i=sum-1;i>=0;i--)
printf("%d ",c[i]);

printf("\n");

for(;a>=1;)
{
b=a%10;
a=a/10;

printf("%d ",b);

}

}
3个条件都满足
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忘至白葬不情必0T
推荐于2018-04-13 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
#include <iostream>
using namespace std;

void main()
{
long n;
int a[5],i=0,j;
cin>>n;
while(n)
{
a[i++]=n%10;
n/=10;
}
cout<<i<<endl;
for(j=i-1;j>=0;j--)
cout<<a[j]<<' ';
cout<<endl;
for(j=0;j<i;j++)
cout<<a[j]<<' ';
cout<<endl;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明日青蛙
2009-07-23 · TA获得超过707个赞
知道小有建树答主
回答量:935
采纳率:0%
帮助的人:902万
展开全部
用字符串来处理,应该是所有方法里面最简单的了~~~~

#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char ch[10];
cin>>ch;
int len=strlen(ch),i;
cout<<len<<endl;
for(i=0;i<len;i++)
cout<<ch[i]<<" ";
cout<<endl;
for(i=len-1;i>=0;i--)
cout<<ch[i]<<" ";
cout<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式