1.将A的每位数字乘以2,如果某位数字结果大于9,便减去9,得到新的三位数字B
2.将B的每位数字加上2,如果某位数字结果大于9,便减去9,得到新的三位数字C
3.将C的每位数字进行翻转,得到最终结果D
例如:183的变化如下:
1.1X2=2,8X2-9=7,3X2=6,因此第一步变化后的结果为276
2.2+2=4,7+2=9,6+2=8,因此第二步变化后的结果为498
3.498的翻转结果为894
#include<iostream>
using namespace std;
int main()
{
int input, bai, shi, ge;
cin >> input;
bai = input / 100 % 10;//bai
shi = input / 10 % 10;//shi
ge = input % 10;//ge
int a = bai * 2,b = shi*2,c = ge*2;
if (a > 9)
{
bai = a - 9;
a = bai;
if (a + 2 > 9)
{
bai = a + 2 - 9;
}
else
{
bai = a + 2;
}
}
else if (a <= 9)
{
bai = a;
a = bai;
if (a + 2 > 9)
{
bai = a + 2 - 9;
}
else
{
bai = a + 2;
}
}
else if (b > 9)
{
shi = b - 9;
b = shi;
if(b+2>9)
{
shi = b + 2 - 9;
}
else
{
shi = b + 2;
}
}
else if (b <= 9)
{
shi = b;
if (b + 2 > 9)
{
shi = b + 2 - 9;
}
else
{
shi = b + 2;
}
}
else if (c > 9)
{
ge = c - 9;
c = ge;
if (c + 2 > 9)
{
ge = c + 2 - 9;
}
else
{
ge = c + 2;
}
}
else if (c <= 9)
{
ge = c;
if (c + 2 > 9)
{
ge = c + 2 - 9;
}
else
{
ge = c + 2;
}
}
cout << ge << shi << bai << endl;
return 0;
}
为啥调试的时候得不到正确结果,请各位佬帮我看看O.o