输入一个不多于5位的正整数,要求:1)求它是几位数;2)合成它的逆序数并输出,如原数是123,输出为321。

请用C++编写,因为我初学,,所以请高手劲量使用简单的语句,可以让我看懂的。

第1个回答  推荐于2018-04-12
#include <iostream>
using namespace std;

void main()
{
int num, reverse = 0, count = 0;

while (1)
{
cout<<"请输入一个不多于五位的正整数:";
cin>>num; // 输入数据
if (cin.bad() || num <= 0 || num >= 100000)
{
// 如果输入的不是整数,或者小于0,或者大于5位数,报错重试
cin.clear();
fflush(stdin);
cout<<"输入错误!请重试!"<<endl;
continue;
}
break;
}

// 逆序处理,同时算位数
while (num != 0)
{
int r = num % 10;
reverse = reverse * 10 + r;
num = num / 10;
count++;
}
cout<<"该数为"<<count<<"位数"<<endl;
cout<<"逆序数为"<<reverse<<endl;
}本回答被提问者和网友采纳
相似回答