输入一个不多于四位的正整数,求出它是几位数,逆序打印出各位数字

 我来答
百度网友e591bcd
推荐于2017-05-31 · TA获得超过988个赞
知道小有建树答主
回答量:518
采纳率:0%
帮助的人:401万
展开全部

#include<stdio.h>

#include<math.h>

void main()

{ int x,th,hu,te,ge,w;

printf("请输入一个小10000的正整数x:\n"); 

scanf("%d",&x);

if(x>999) w=4;

else if(x>99) w=3;

else if(x>9) w=2;

else w=1;

th=x/1000;

hu=(x-th*1000)/100;

te=(x-(th*1000+hu*100))/10;

 ge=x-(th*1000+hu*100+te*10);

   

printf("该数为%d位数。\n",w); 

printf("逆序打印出各位数字\n"); 

 printf("%d %d %d %d\n",ge,te,hu,th); 

 } 

运行通过。

xrhigh
2009-10-16 · TA获得超过1495个赞
知道小有建树答主
回答量:657
采纳率:0%
帮助的人:835万
展开全部
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
int a;
cout << "请输入一个正整数:";
cin >> a;
int temp = a,len = 1;
while (temp >= 10)
{
temp /= 10;
len++;
}
cout << "这是一个" << len << "位数\n";
int b = 0;
for (int i = 1;i <= len;i++)
{
temp = a % static_cast<int>(pow(10.0,len-i+1))/static_cast<int>(pow(10.0,len-i));
b += temp * static_cast<int>(pow(10.0,i - 1));
}
cout << "这个数的逆序为:" << b << endl;
return 0;
}
上述代码已通过编译
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式