求助各位佬,站外题。
  • 板块学术版
  • 楼主Dream_liu
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/9/6 23:22
  • 上次更新2023/11/2 22:29:50
查看原帖
求助各位佬,站外题。
1047750
Dream_liu楼主2023/9/6 23:22

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

2023/9/6 23:22
加载中...