【发布时间】:2018-05-15 22:24:37
【问题描述】:
所以我正在尝试编写一个代码,我将在其中检查最小和最大 5 个数字的输入是否是回文。我在验证用户输入是否仅为数字并将其限制为 5 个数字时遇到问题。
我试过 cinfail 但它允许 2h34j,忽略字母。我希望程序检查所有5个字符是否都是数字,如果不是,重新开始循环。
我不能使用字符串或字符作为变量。只有 int。
有什么建议吗?
#include <iostream>
using namespace std;
int main()
{
int n, num = 0, siffra, rev = 0;
const int inm = 0;
cout << "Mata in ett femsifrigt heltal: ";
cin >> num;
n = num;
do
{
siffra = num % 10;
rev = (rev * 10) + siffra;
num = num / 10;
} while (num != 0);
cout << " Inmatningen baklänges blir: " << rev << endl;
if (n == rev)
cout << " Nummret är en palindrom\n";
else
cout << " Numret är inte en palindrom\n";
return 0;
}
【问题讨论】:
-
每个正好有五个有效数字的整数都在 10000 和 99999 之间,包括 10000 和 99999。您可以检查用户是否在此范围内输入了数字。如果您无法输入
strings 或chars,那么我认为这样的范围检查是您能做的最好的。