因为在输入中不仅仅有A2*B7=3848,还有A9*3B=3293等其它内容,所以我想到了用数组来存放键盘输入的数据,然后在经过修饰后赋给变量,用两个嵌套循环求出A和B,最后输出答案。各位大佬看看我下面写的代码还有没有优化空间,谢谢了!
#include <stdio.h>
int main()
{
char o[10] = { 0 };
scanf("%s", o);
int a = o[1] - 48, c = o[3] - 48, f = o[6] - 48, g = o[7] - 48, h = o[8] - 48, i = o[9] - 48;
int A = 0, d = 0;
int y = f * 1000 + g * 100 + h * 10 + i;
for (int t = 0; t < 10; ++t)
{
A = t;
for (int n = 0; n < 10; ++n)
{
d = n;
if ((A * 10 + a) * (c * 10 + d) == y)
printf("%d%d*%d%d=%d", A, a, c, d, y);
}
}
return 0;
}
运行结果为此