输入一个不多于四位的正整数,求出它是几位数,逆序打印出各位数字
展开全部
#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);
}
运行通过。
展开全部
#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;
}
上述代码已通过编译
#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;
}
上述代码已通过编译
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询