我刚刚开始涉足编码问题,并且遇到了几天来我一直无法解决的问题,而且我遇到过最接近的问题能够在网上找到是一个程序检查一个数字是否包含一个特定的数字,但这并不适用于我的情况,我不认为。问题是让用户输入两个正数,并检查第二个数字的反转是否包含在第一个数字中。例如,如果输入654321和345,就会说它包含它,因为345的反向是543,而654321包含它。这是我一直在尝试的,但这是一场灾难。检查是否包含其他数字的程序
P.S:变量应该保持整数通过程序。
#include <iostream>
using namespace std;
bool check(int longer, int shorter)
{
int i = 1;
int rev=0;
int digit;
while (shorter > 0)
{
digit = shorter%10;
rev = rev*10 + digit;
shorter = shorter/10;
}
cout << rev << endl;
bool win=0;
int left = longer/10; //54321
int right = longer % 10; // 65432
int middle = (longer /10)%10; // 5432
int middle1;
int middle2;
int trueorfalse = 0;
while (left > 0 && right > 0 && middle1 > 0 && middle2 >0)
{
left = longer/10; //4321 //321
right = longer % 10; //6543 //654
middle1 = middle%10; //543
middle2= middle/10; //432
if (rev == left || rev == right || rev == middle1 || rev == middle2 || rev == middle)
{
win = true;
}
else
{
win = false;
}
}
return win;
}
int main()
{
int longer;
int shorter;
int winorno;
cout << "Please enter two numbers, first of which is longer: ";
cin >> longer;
cin >> shorter;
winorno = check(longer,shorter);
if (winorno==true)
{
cout << "It works.";
}
else
{
cout << "It doesn't work.";
}
return 0;
}
什么这些数字21和120? 21是否包含120? –